aboutsummaryrefslogtreecommitdiffstats
path: root/doc
AgeCommit message (Collapse)AuthorFilesLines
2022-01-28[WIP] Add C++ bindingsDavid Robillard18-1/+1373
2022-01-28Add high-level documentationDavid Robillard19-22/+1573
2022-01-28Fix code whitespace in HTML man pagesDavid Robillard1-0/+1
2022-01-28Isolate man pages and build HTML versions with mandoc if possibleDavid Robillard7-0/+40
The HTML versions are mainly useful for generating the online documentation as part of a CI pipeline. They are installed anyway, which is redundant for systems with a man page reader, but handy elsewhere.
2022-01-28[WIP] Add validationDavid Robillard5-0/+254
2022-01-28Consolidate number support into a single "value" APIDavid Robillard1-0/+5
2022-01-28Add "contextual" output optionDavid Robillard3-1/+11
This is mainly for developer or power-user cases, where one wants to look at some data for investigation or debugging. In such cases, it's common for the set of prefixes to be implicitly known (because they are baked in to the application, for example), so printing them just produces a large amount of redundant noise. That said, it can also be useful programmatically, because it allows several snippets to be written independently and ultimately concatenated (with a header to define the prefixes) without redundancy.
2022-01-28Simplify input stream APIDavid Robillard1-1/+0
More or less the same rationale as the previous commit, but for reading. This makes for nice symmetry with writing, at the cost of a slightly more annoying reader interface since the source doesn't know its block size or name.
2022-01-28Simplify output stream APIDavid Robillard1-1/+0
This makes the paging mechanism an internal detail once again. While it's conceptually elegant to simply have a single write interface and have the block dumper just be another implementation of that, unfortunately it is not practical. The inlining of serd_block_dumper_write() is a significant performance boost, because it avoids a non-inlinable function call of overhead per character. Compared to the SerdByteSink approach, this removes the burden and overhead of needing to dynamically allocate the structure itself.
2022-01-28Make tools read stdin by defaultDavid Robillard2-4/+2
2022-01-28Replace serdi with more fine-grained toolsDavid Robillard4-265/+728
Especially with the new functionality, the complexity of the command-line interface alone was really becoming unmanageable. The serdi implementation also had the highest cyclomatic complexity of the entire codebase by a huge margin. So, take a page from the Unix philosophy and split serdi into several more finely-honed tools that can be freely composed. Though there is still unfortunately quite a bit of option overlap between them due to the common details of reading RDF, I think the resulting tools are a lot easier to understand, both from a user and a developer perspective.
2022-01-28Make blank node prefixing automaticDavid Robillard1-15/+0
Though potentially useful, I don't think the complexity cost of the old interface (both to the implementation and to the user) is worth it. A special tool to transform blank node labels (for example with regular expressions) would be a better approach to this if it's ever needed in the future.
2022-01-28Collapse input and output options into a single flagDavid Robillard1-29/+60
2022-01-28Replace serdi -b and -e options with a block size optionDavid Robillard1-9/+7
This is more powerful, and reduces the number of command line options that almost nobody needs to care about.
2022-01-14Add statement filteringDavid Robillard1-1/+27
2022-01-14Add support for converting literals to canonical formDavid Robillard1-1/+13
2022-01-14Add modelDavid Robillard2-7/+19
2022-01-13Add support for parsing variablesDavid Robillard1-1/+8
This adds a reader flag and serdi option for extending a syntax with support for SPARQL-like variables, for storing things like patterns or simple queries.
2022-01-13Add support for reading multiple files at onceDavid Robillard1-2/+2
2022-01-13Simplify handling of input string argumentsDavid Robillard1-1/+1
2022-01-13Add input base URI optionDavid Robillard1-1/+9
2022-01-13Make Writer always write to a ByteSinkDavid Robillard1-1/+7
2022-01-13Add empty syntax type for suppressing outputDavid Robillard1-0/+6
2022-01-13Add option for writing terse output without newlinesDavid Robillard1-1/+4
2022-01-13Add SerdCaretDavid Robillard1-1/+1
2022-01-13Use a fixed-size reader stackDavid Robillard1-0/+9
2022-01-13Switch to MesonDavid Robillard8-46/+95
2022-01-13Add dark theme for HTML man pagesDavid Robillard1-10/+70
2021-05-16Add examples to man pageDavid Robillard1-0/+8
2021-05-16Fix inconsistent argument name in man pageDavid Robillard1-1/+1
2021-03-07Rewrite man page in mdoc and use mandoc to generate HTMLDavid Robillard2-77/+340
2021-01-16Add fallback configuration if documentation theme is unavailableDavid Robillard1-26/+50
2021-01-07Use globally unique Doxygen group namesDavid Robillard1-3/+3
This is necessary to avoid clashes when building unified documentation as a subproject.
2021-01-07Remove unused fileDavid Robillard1-11/+0
2021-01-06Switch to LV2 documentation themeDavid Robillard6-207/+55
2020-12-21Fix documentation page widthDavid Robillard1-1/+1
2020-12-21Remove old Doxygen configurationDavid Robillard1-2426/+0
2020-12-21Generate documentation with SphinxDavid Robillard15-1118/+362
2020-12-17Don't install API man pagesDavid Robillard1-1/+1
These weren't particularly useful, and the project will be migrating away from Doxygen entirely anyway. The serdi man page, which is manually written, of course remains.
2020-11-11Clean up attributes in reference documentationDavid Robillard1-1/+5
This is a bit unfortunate since they are quite useful as documentation, but unfortunately Doxygen (as usual) doesn't manage to format things nicely, and the noise makes the summaries unreadable.
2020-11-09Move header to conventional include directoryDavid Robillard1-1/+1
2020-08-14Use one sentence per line in man pageDavid Robillard1-7/+5
This apparently lets troff do line wrapping better in some scenarios, and is the best practice for text in revision control anyway.
2020-08-14Remove obsolete things from Doxygen fileDavid Robillard1-47/+1
2020-03-17Update documentation styleDavid Robillard3-381/+446
2020-03-17Remove unused obsolete Doxygen optionsDavid Robillard1-15/+0
2019-10-14Improve man page formattingDavid Robillard1-23/+23
2019-07-25Add benchmark plotsDavid Robillard3-0/+5372
2019-07-25Build documentation and coverage index pageDavid Robillard1-0/+35
2019-07-25Make documentation build with Doxygen 1.8.13David Robillard3-34/+15
2019-03-31Add documentation main pageDavid Robillard1-0/+15