| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Add new docknot release command and corresponding App::DocKnot::Release
module to copy a tarball releaes (normally created by docknot dist)
into a release area, update symlinks, archive any previous releases,
and update the .versions file used by docknot spin. DocKnot now
depends on Sort::Versions.
|
|
|
|
|
|
|
| |
Add new docknot update-spin command and corresponding update_spin
method in App::DocKnot::Update to update a spin input tree to the
latest expectations. Currently, all this does is convert *.rpod
pointer files to *.spin pointer files.
|
|
|
|
|
|
| |
docknot spin now uses Path::Iterator::Rule and Path::Tiny to construct
its paths, which eliminates the need to change the working directory
while processing input files.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support *.spin pointers in addition to *.rpod pointers for external POD
files. The command-line flags used in *.rpod pointers are replaced by
the title and options key of the *.spin file. *.rpod files are
deprecated and support will be removed in a future version of DocKnot.
Add spin_thread_output method to App::DocKnot::Spin::Thread, intended
to convert thread to HTML as part of a conversion pipeline of a
non-thread input file, while still using sitemap information and
generating the page footer. DocKnot now depends on Path::Tiny.
|
|
|
|
|
|
|
| |
Adopt the new -nvc option in Perl::Tidy 20211029 to disable the
intrusive vertical alignment formatting. Unfortunately, this
breaks all vertical alignment formatting, even when desired, so
work around that in a few places with special comments.
|
|
|
|
|
|
| |
Fix unintended localization of dates in RSS output, which are supposed
to be RFC 2822 dates and therefore always use English month and day of
week names. Thanks to Slaven Rezić for testing.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Pod::Usage comes with Perl core, so follow the normal convention
of not calling out that dependency explicitly.
|
|
|
|
| |
Update App::DocKnot::Command and the cli/errors test accordingly.
|
| |
|
|
|
|
| |
This comes after IO::Compress::Xz.
|
|
|
|
|
|
|
|
|
| |
Fix left-over documentation references to the old metatada path.
Refer to DocKnot rather than App::DocKnot as the canonical name of
the package, and reference the App-DocKnot distribution in the
docknot man page. Add a few more cross-references to the module
documentation pages. Flesh out some of the documentation about
tarball signing. Update the synopsis of the docknot man page.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
This is no longer used by any of the subcommands and I don't plan
to use it in the future, so simplify the logic.
|
|
|
|
|
| |
There's no reason to reiterate the parameter definitions of these
for every instance or class method.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the metadata format to a single YAML file, with a slightly
different internal representation, whose default location is
docs/docknot.yaml. The new docknot update command (or the
App::DocKnot::Update module) will convert from the old JSON format.
The new metadata format is checked against a schema when read.
DocKnot now depends on YAML::XS and Kwalify.
Word wrap numeric lists and, in Markdown output, quoted paragraphs.
Previously these preserved the original spacing from the input text
snippets.
Require paragraphs be indented by at least six spaces, not five, to be
treated as verbatim paragraphs and left unwrapped. (Markdown
paragraphs can still use four spaces because they are wrapped in
markup lines.)
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Add new docknot dist command and App::DocKnot::Dist module, which runs
appropriate commands to create a distribution tarball.
|
|
Move the entry point for command-line commands from App::DocKnot to
App::DocKnot::Command. The App::DocKnot module now only provides some
helper methods to load application data, used by both
App::DocKnot::Config and App::DocKnot::Generate. It's no longer
necessary to explicitly load App::DocKnot before using one of the
submodules.
|