Code/Documentation are live, comain/limb/qmdoc are out
PostedIt's taken me a bit of time but we're finally getting there : the Code and Documentation sections are now live ! :)
Not only that, but to make sure they don't stay empty I've already put some things in there, as a new software - qmdoc - is just out.
And in order to get there, I did release a couple more things, but at this point they're pretty much of no use except for qmdoc, really.
qmdoc
As I was working on another project came a point where I thought I should write some documentation, because documentation is a nice thing to have.
But once I started writing a man page in groff, I realized this was a bit annoying. To me, that is. It's very much not a plain text, and I wanted an easier solution.
Then I remembered how I once wrote man pages in MarkDown, and that was indeed much nicer to do. However, I didn't want to have to have that whole Perl dependency I used to have....
In the end, part of the solution I came up with was qmdoc : a simple, small, fast tool to convert markdown files into plain HTML/CSS (zero JavaScript).
Of course such tools already exist, but as said earlier I wanted something small, plus I had a few "tweaks" I wanted for the supported syntax... so in the end, qmdoc was born.
md4c
As I failed to mention earlier, no I did not write a markdown parser, because I'm lazy. Also, there's already a great project that does it, does it well & fast : md4c
I did, however, write some patches for it, because as I said, there were a few "extensions" I was looking for. Some were already available, such as using underscores to underline, but others - in the same vein - were not.
Specifically I added :
- an ITALIC extension, to use
/foobar/
to put in italic - a BOLD extension, to use
*foobar*
to put in bold - an HIGHLIGHT extension, to use
=foobar=
to put in highlight
To those simple things, I've added a couple more, slightly more invasive ones, that I found helpful, particularly when writing documentation/man pages:
an INDENT extension, to prepend lines with a colon (
:
) in order to have them indented. Think e.g. describing a program's options.a BOX extension, to have some nice little information/warning boxes every once in a while.
Of course, all of those can be witnessed in qmdoc's man page.
Anyways
So yeah, feel free to read its doc or check its code, it's a first release but it should work fine, it is released under GPL-2.0 and, as a hint of what it does, it's what's actually being used to generate the pages under Documentation !
You can also check out my patches to md4c
as well. For the
record I might submit them upstream later on, but I'm waiting a bit for now.
A note about comain & limb
So in order to release qmdoc, I needed to have a couple other things out. Thing is, they're not really worth much interest as of now, because :
comain is just a bunch of script/Makefile helpers to help me release stuff, it's very much made for me without much consideration for outsider's use.
limb is a small C library in which I'll put things I find useful (to me), based on top of skalibs, but at the moment it's somewhat empty except for a couple functions and a few macros. Again, it's really out just so that I could release qmdoc.
Which does and does*n't* mean the later has dependencies. comain
is a
component, meaning it is included in the official release tarball, and nothing
else is needed.
As for limb
, technically it is a dependency, but similarly its source code
is included in the release tarball and it should build fine automatically, and
gets statically linked thus not adding any runtime dependency.
(And for the record, one can static link skalibs
just as easily, leaving only
the libc as dependency for qmdoc
(unless you static-link musl
or soemthing,
of course).