summaryrefslogtreecommitdiff
path: root/t
Commit message (Collapse)AuthorAge
* Fix spinning of numeric entitiesRuss Allbery2021-09-10
| | | | We were adding an unnecessary backlash due to quoting complexity.
* Don't escape quotes in navigation textRuss Allbery2021-09-10
| | | | | | | | App::DocKnot::Spin::Sitemap was using the same escaping code for both <link> tags and navigation text in the page, which meant that both were escaping quotes. That's unnecessary in the navigation text. Move the escaping and do it differently for attributes than for navigation links.
* Fix lifting of \class in paragraphsRuss Allbery2021-09-10
| | | | | | | | | Thread supports a feature where \class surrounding a paragraph is lifted into the paragraph tag, but it was firing when \class surrounded the start and end of the paragraph but not all of its text. Restore the check that ensures it surrounds the entire text (which is not 100% correct because we're not doing full HTML parsing, but should be good enough).
* Fix warning handling from spinning threadRuss Allbery2021-09-10
| | | | | | Teach App::DocKnot::Command to rewrite warnings as well as errors to add the invoked command, and rely on that for warnings from App::DocKnot::Spin::Thread.
* Add spin-rss, rename spin-file to spin-threadRuss Allbery2021-09-10
| | | | | | | Add a spin-rss command to run App::DocKnot::Spin::RSS on a single file outside of recursive processing, and rename spin-file to spin-thread, setting up a convention for handling other types of conversion.
* Use the version of DocKnot in spin outputRuss Allbery2021-09-10
| | | | | Instead of the legacy spin and spin-rss versions, put the version of DocKnot in the comments in generated HTML and RSS.
* Finish modernizing App::DocKnot::Spin::RSS codeRuss Allbery2021-09-10
| | | | | Rework the rest of the code so that it now passes perlcritic and perltidy.
* Begin refactoring App::DocKnot::Spin::RSSRuss Allbery2021-09-10
| | | | Starting to modernize the Perl in preparation for the next release.
* Rework spin-rss as a moduleRuss Allbery2021-09-09
| | | | | | | | | | | Rename spin-rss to App::DocKnot::Spin::RSS, add an API, and update the documentation accordingly. Call App::DocKnot::Spin::Thread instead of running spin. Add a basic test for RSS and thread generation from .rss files. Call the new module instead of spin-rss from App::DocKnot::Spin. This has a few horrible hacks to deal with the working directory of thread spinning that will need a better solution later.
* Support spinning a scalar of threadRuss Allbery2021-09-09
| | | | | | | This should be the last major API change for now. Get rid of spin_fh and change the interface to App::DocKnot::Spin::Thread to spin_thread (which takes a scalar) and spin_thread_file (which takes an input file and optional output file).
* Read entire thread files when parsingRuss Allbery2021-09-09
| | | | | | | Rather than trying to carefully read thread files paragraph by paragraph, read the entire file at once and reuse _split_paragraphs to separate it into parseable chunks. Add line number tracking to the input file stack and use that to improve error reporting.
* Add a test suite for thread errorsRuss Allbery2021-09-09
| | | | | Test error handling in App::DocKnot::Spin::Thread and adjust the output of some of the error messages to make them easier to read.
* Split off App::DocKnot::Spin::ThreadRuss Allbery2021-09-09
| | | | | | | Move the thread processing into its own module separate from the machinery to drive the recursive site generation. Update the documentation, remove duplicate documentation, and move the thread language documentation into App::DocKnot::Spin::Thread.
* Add an additional spin test pageRuss Allbery2021-09-09
| | | | | Add an additional page that tests a bunch of other commands that were not tested by the existing pages.
* Finish style fixes to App::DocKnot::SpinRuss Allbery2021-09-09
| | | | | | Finish going over all of the methods and fixing formatting and perlcritic errors. Re-enable perlcritic for this file now that it's clean.
* Refactor the core spin parsing codeRuss Allbery2021-09-08
| | | | | | | | | Start the grand refactor of App::DocKnot::Spin. Refactor the core parsing code and move handling of macro definitions, string definitions and \\ into command handlers. Tag commands with whether they care about format arguments and remove a bunch of useless arguments to commands that take arguments but not a format string.
* Switch to Pod::Thread for POD renderingRuss Allbery2021-09-08
| | | | | | Rather than construct a command line for pod2thread, call Pod::Thread directly. Add the required version numbers for dependency modules to the documentation.
* Add support for regenerating POD outputRuss Allbery2021-09-08
| | | | | The spin test suite now contains POD output from App::DocKnot. Add regeneration of that data to t/data/regenerate-data.
* Move sitemap handling into its own moduleRuss Allbery2021-09-08
| | | | | | Create App::DocKnot::Spin::Sitemap to handle sitemap parsing and output based on its contents and move the relevant code there from App::DocKnot::Spin.
* Move spin .versions parsing to a moduleRuss Allbery2021-09-07
| | | | | Create App::DocKnot::Spin::Versions to parse the .versions database. Add more thorough tests of the parsing logic.
* Fix spin with external convertersRuss Allbery2021-09-06
| | | | | | | | | | | | | | | The refactorings broke external converters. Fix that, hopefully, and add a test for pod2html. Refactor the division of labor between the conversion methods and the common method so that it works without reinvoking spin via $FULLPATH. Drop the $FULLPATH global variable. Update perltidy configuration and apply the reformattings to avoid some really horrible formatting decisions in some of the new test code. Add a dependency on Pod::Thread, which is currently only used for the external script but will eventually be used for its API.
* Move spin file stack into module stateRuss Allbery2021-09-06
| | | | | | | Move $FILE and @FILES into module state. Add a test of \include to the test suite, and use it to test handling of pages that don't appear in the sitemap and images that aren't found on the file system.
* Mark App::DocKnot::Spin methods as privateRuss Allbery2021-09-06
| | | | | Mark all methods that aren't part of the external API as private. Reformat the code in a few places to try to make it easier to read.
* Clean up App::DocKnot::Spin preambleRuss Allbery2021-09-06
| | | | | | Remove the now-unnecessary use subs, move use warnings above the module imports, and use 5.024 to declare a version instead of use strict.
* Add tests for spin file deletionRuss Allbery2021-09-06
| | | | | When spinning a directory, spin can optionally delete stray files out of the destination directory. Add tests for this behavior.
* Move spin dependency data into module stateRuss Allbery2021-09-06
| | | | | | | Move %DEPEND into module state. Add a test for the output from spinning a tree of files, test that spinning the same tree twice does nothing, and test that updating a version in .versions forces that file to be spun again.
* Fix command plumbing for spin and spin-fileRuss Allbery2021-09-06
| | | | | | | | | | | | | Plumb spin and spin-file through App::DocKnot::Command to the docknot frontend again. Add documentation for those commands and their options. Add a test for the command-line interface to ensure that plumbing keeps working in the future. Move the logic to compare a tree of spun files into the Test::DocKnot::Spin module so that it can be shared between the command-line test and the API test. Add the test library modules to POD syntax and spelling checks.
* Rework the App::DocKnot::Spin public APIRuss Allbery2021-09-06
| | | | | | | | | | | | | | | | Rewrite the machinery that sets up spinning files. Create new public methods spin_file and spin_tree that should be called by users of the module, and move the per-file spinning logic into a new internal method _spin. Mark more internal methods with an underscore prefix. Always use absolute paths in the input and output module state, and remove a bunch of dodgy logic that creates absolute paths by mucking around with File::Find state. Move %OUTPUT, $REPO, and $SOURCE to internal module state. Create a new _warning method to report a problem in the current file and line number.
* Move macros and strings into module stateRuss Allbery2021-09-06
| | | | | | Move the defined macros and strings for a given document into the App::DocKnot::Spin module state instead of global state. Add a test to exercise \size and string definition.
* Refactor App::DocKnot::Spin output methodRuss Allbery2021-09-06
| | | | | Move $SPACE into module state and rewrite the output method as _output using my current Perl coding style.
* Add App::DocKnot::Spin dependenciesRuss Allbery2021-09-06
| | | | | | Mention the App::DocKnot::Spin dependencies in Build.PL and the overall documentation. Make the Git::Repository dependency unconditional rather than working around its absence.
* Increase coverage thresholdRuss Allbery2021-08-31
| | | | The new test has helped with spin test coverage.
* Add test for spinning a tree of filesRuss Allbery2021-08-31
| | | | | | Add a simple tree of files and test spinning the tree. This adds machinery to generically check a file tree, so the test can be enhanced later by adding more files.
* Merge branch 'master' into spinRuss Allbery2021-08-31
|\
| * Ignore new Community::EmptyReturn perlcritic policyRuss Allbery2021-08-31
| | | | | | | | | | This appears to be the same as Freenode::EmptyReturn and I want to ignore it for the same reason.
* | Create module for spin test functionsRuss Allbery2021-08-31
| | | | | | | | | | Move some of the functionality of spin/file.t to a new Test::DocKnot::Spin module that will be used for later tests.
* | Add test for spinning a single fileRuss Allbery2021-07-19
| | | | | | | | | | | | | | | | Test spinning a single file with App::DocKnot::Spin and change just enough to get the test to pass. Hard-code the old version number for now, since there doesn't seem to be an immediately obvious way to get it. Don't use standard output when spinning a single file since it confuses prove somehow.
* | Remove unused import from t/dist/basic.tRuss Allbery2021-07-18
| |
* | Add documentation of is_file_contentsRuss Allbery2021-07-18
| | | | | | | | | | In Test::RRA, is_file_contents didn't have any POD documentation. Add some.
* | Fix documentation of @CRITIC_IGNORERuss Allbery2021-07-18
| | | | | | | | | | | | The t/data/perl.conf variable @CRITIC_IGNORE had somewhat incorrect documentation after previous changes to the implementation. Update it.
* | Make test robust against Git default branchRuss Allbery2021-07-18
| | | | | | | | | | | | | | Currently, App::DocKnot::Dist requires the release be made from a branch named master, but I now use main as the default branch. Make the test robust against this by forcing the branch to be master for now.
* | Move spin to App::DocKnot::SpinRuss Allbery2021-07-18
|/ | | | | | | Convert the spin program to a module and do the absolute minimum work required to make tests pass, mostly by skipping a bunch of tests. This is not yet a well-behaved module and may not actually work.
* Fix stray blank line in thread outputRuss Allbery2021-03-28
| | | | | | If a package didn't have any contributed programs, the thread template added a stray blank line after developer documentation. Clean that up and improve whitespace handling.
* Add test for Changes file formatRuss Allbery2021-03-27
| | | | Use Test::CPAN::Changes to check the format of the Changes file.
* Support setting debian.package with debian.personalRuss Allbery2021-03-27
| | | | | | Support setting distribution.packaging.debian.package along with distribution.packaging.debian.personal to specify the package name. Do not generate links to Debian in that case.
* Add Debian packaging to metadataRuss Allbery2021-02-27
|
* Don't explicitly depend on Pod::UsageRuss Allbery2021-02-27
| | | | | Pod::Usage comes with Perl core, so follow the normal convention of not calling out that dependency explicitly.
* Isolate tests from global configurationRuss Allbery2021-02-27
| | | | | | Set the relevant XDG environment variables at the top of each test so that the tests will not accidentally pick up any local user configuration.
* docknot dist no longer requires --distdirRuss Allbery2021-02-27
| | | | Update App::DocKnot::Command and the cli/errors test accordingly.
* Release 4.01Russ Allbery2021-02-27
|