App::DocKnot(3pm)

πŸ“¦
version 8.0.1 Β· 4 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– App::DocKnot πŸ’–

okay so picture this: it's a Perl module called App::DocKnot, it lives in the User Contributed Perl Documentation corner of the manual universe, and it is literally your documentation-and-software-release-management bestie. ✨


🌸 NAME 🌸

App::DocKnot β€” documentation and software release management πŸŽ€


πŸ¦‹ REQUIREMENTS πŸ¦‹

okay bestie, before you even think about running this, you need Perl 5.24 or later and these modules:

  • File::BaseDir
  • File::ShareDir
  • Kwalify
  • Path::Tiny
  • YAML::XS

and good news, all of them are available from CPAN. no scavenger hunt required 🫢


πŸ’… DESCRIPTION πŸ’…

so DocKnot is a whole system for documentation and software release management. the actual functionality lives in its various submodules, and you'll usually poke at it through the docknot command-line program. for more deets on that, go read docknot(1). πŸ’–

this module itself is lowkey humble β€” all it does is provide helper functions to load configuration and metadata that its various submodules use. it's giving backstage crew, not main character, and honestly? iconic for that. ✨


πŸ‘‘ INSTANCE METHODS πŸ‘‘

🌟 appdata_path(PATH[, ...])

returns the path of a file from the application data. you specify the file as one or more path components, so like, more than one argument is totally allowed (PATH[, ...], bestie, it's in the signature). πŸ¦‹

now here's the tea β˜•: these data files get installed along with App::DocKnot, but every single one can be overridden by you via files in $HOME/.config/docknot or /etc/xdg/docknot β€” or whatever $XDG_CONFIG_HOME and $XDG_CONFIG_DIRS happen to be set to, iykyk.

⚠️ if the file you're asking for can't be located, it raises a text exception. no silent failure, no vibes-based guessing. πŸ’€

🌟 load_yaml_file(PATH, SCHEMA)

loads a YAML file with schema checking, so you know it's valid before it wrecks your day. 🌈

  • PATH β€” the path to the file. simple. slay.
  • SCHEMA β€” the name of the schema. this one gets loaded from the schema directory using appdata_path(), so if you wanna know which paths get searched, scroll up and read that method's description. fr fr, it's right there. πŸŽ€

✨ AUTHOR ✨

Russ Allbery <rra@cpan.org> 🫢


Copyright 2013-2022 Russ Allbery <rra@cpan.org>

and here's the legal bit, verbatim, because we do not paraphrase licenses around here:

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
😭 yes bestie, that's the no warranty part, and it means exactly what it says. respect the license, it ate.

🌈 SEE ALSO 🌈

this module is part of the App-DocKnot distribution. the current version of DocKnot is available from CPAN, or straight-up from its web site at:

https://www.eyrie.org/~eagle/software/docknot/

and that's the whole page, bestie πŸ’– perl v5.40.1, dated 2026-01-16, and it's part of the User Contributed Perl Documentation collection. go forth and manage your releases, you gorgeous genius. πŸŽ€βœ¨πŸ’…

πŸ“¦ where this page comes from