| Commit message (Collapse) | Author | Age |
|
|
|
| |
We were adding an unnecessary backlash due to quoting complexity.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
| |
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 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.
|
|
|
|
|
| |
Instead of the legacy spin and spin-rss versions, put the version
of DocKnot in the comments in generated HTML and RSS.
|
|
|
|
|
| |
Rework the rest of the code so that it now passes perlcritic
and perltidy.
|
|
|
|
| |
Starting to modernize the Perl in preparation for the next release.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Test error handling in App::DocKnot::Spin::Thread and adjust the
output of some of the error messages to make them easier to read.
|
|
|
|
|
|
|
| |
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 page that tests a bunch of other commands that
were not tested by the existing pages.
|
|
|
|
|
|
| |
Finish going over all of the methods and fixing formatting and
perlcritic errors. Re-enable perlcritic for this file now that
it's clean.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Rather than construct a command line for pod2thread, call
Pod::Thread directly. Add the required version numbers for
dependency modules to the documentation.
|
|
|
|
|
| |
The spin test suite now contains POD output from App::DocKnot.
Add regeneration of that data to t/data/regenerate-data.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Create App::DocKnot::Spin::Versions to parse the .versions database.
Add more thorough tests of the parsing logic.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 $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 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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
When spinning a directory, spin can optionally delete stray files
out of the destination directory. Add tests for this behavior.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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.
|
|
|
|
|
| |
Move $SPACE into module state and rewrite the output method as
_output using my current Perl coding style.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
The new test has helped with spin test coverage.
|
|
|
|
|
|
| |
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.
|
|\ |
|
| |
| |
| |
| |
| | |
This appears to be the same as Freenode::EmptyReturn and I want to
ignore it for the same reason.
|
| |
| |
| |
| |
| | |
Move some of the functionality of spin/file.t to a new
Test::DocKnot::Spin module that will be used for later tests.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| | |
In Test::RRA, is_file_contents didn't have any POD documentation.
Add some.
|
| |
| |
| |
| |
| |
| | |
The t/data/perl.conf variable @CRITIC_IGNORE had somewhat incorrect
documentation after previous changes to the implementation. Update
it.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Use Test::CPAN::Changes to check the format of the Changes file.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Pod::Usage comes with Perl core, so follow the normal convention
of not calling out that dependency explicitly.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update App::DocKnot::Command and the cli/errors test accordingly.
|
| |
|