| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This comes after IO::Compress::Xz.
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the load_appdata_json helper function from App::DocKnot. This
is no longer used now that all DocKnot data is in YAML.
Properly depend on and import Pod::Usage so that docknot --help works.
Correct the REQUIREMENTS sections of the module documentation to
reflect new dependencies and the removal of a JSON dependency from
most of DocKnot.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DocKnot now supports a global configuration file. The default
location is $HOME/.config/docknot/config.yaml, but it honors the XDG
environment variables. Currently, this configuration file can be used
to set the distribution directory and signing PGP key for docknot
dist.
docknot dist can now optionally sign distribution tarballs with GnuPG
after they have been generated. To request signing, use the --pgp-key
command-line option or set pgp_key in the new global configuration
file.
The -d option to docknot dist is now optional if distdir is set in
DocKnot's global configuration file.
|
|
|
|
|
| |
Only module version updates and a minor tweak to ignore the .pc
directory when checking for obsolete strings.
|
|
|
|
|
|
|
| |
Add App::DocKnot::Update to the API files, fix a bit more wording
to reflect the new single metadata file layout, and add a note to
the description that DocKnot generates distribution tarballs as
well.
|
|
|
|
|
| |
This required moving the existing distribution.packaging.debian
key to distribution.packaging.debian.package.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support a test.override metadata key that overrides the Testing
section in README and README.md files entirely, except for the note
about Lancaster Consensus environment variables.
Move readme.sections to just sections, and if it defined a testing
section, move that to test.override.
Add some additional markup to the Markdown version of building
instructions for packages that use Kerberos and Autoconf.
|
| |
|
|
|
|
|
| |
Move bootstrap metadata to build.bootstrap now that everything can be
specified in a single YAML file.
|