diff options
Diffstat (limited to 'pages/projects')
-rw-r--r-- | pages/projects/binary_mapping.md | 5 | ||||
-rw-r--r-- | pages/projects/build_xslt.md | 10 | ||||
-rw-r--r-- | pages/projects/codepoint_iterator.md | 5 | ||||
-rw-r--r-- | pages/projects/const_list.md | 5 | ||||
-rw-r--r-- | pages/projects/input_xslt.md | 13 | ||||
-rw-r--r-- | pages/projects/kv.md | 21 | ||||
-rw-r--r-- | pages/projects/static_xslt.md | 4 | ||||
-rw-r--r-- | pages/projects/telebot.md | 10 | ||||
-rw-r--r-- | pages/projects/trie.md | 5 | ||||
-rw-r--r-- | pages/projects/type_as_value.md | 5 |
10 files changed, 38 insertions, 45 deletions
diff --git a/pages/projects/binary_mapping.md b/pages/projects/binary_mapping.md index a53324d..91acae5 100644 --- a/pages/projects/binary_mapping.md +++ b/pages/projects/binary_mapping.md @@ -21,7 +21,7 @@ A explanation of an earlier version of this template library can be found on thi ## Usage example -~~~ +```cpp BinaryMapping::Container< BinaryMapping::Tuple< BinaryMapping::LittleEndian, @@ -40,8 +40,7 @@ for ( auto&& tuple : container ) { } std::uint32_t test = container.at(5).get<0>(); -~~~ -{: .language-cpp} +``` The code listed above defines a container of a tuple consisting of a `std::uint32_t`, `std::int16_t`, 3-byte and `std::uint8_t` field with little endianess, instantiates a buffer containing ten instances of this tuple, iterates through all 10 elements, gives them values, transparently converts to the correct endianess and extracts the value of the first field of the fifth tuple contained in the buffer. In short: BinaryMapping is a library that abstracts endianess aware serializing of binary structures into structures, containers and iterators. If you are interested in further details of the usage of all features provided by BinaryMapping don't hesitate to check out the [documentation]. diff --git a/pages/projects/build_xslt.md b/pages/projects/build_xslt.md index 9c71677..83ce4e6 100644 --- a/pages/projects/build_xslt.md +++ b/pages/projects/build_xslt.md @@ -18,17 +18,16 @@ The source code of _BuildXSLT_ is available on both my [Github] profile and [cgi While _BuildXSLT_ offers enough flexibility for all kinds of different XSLT based generation tasks it was specifically built to cater for the requirements of the [static site generator] this site is built with. As such its module definition file and the _XML Makefile_ used to call it makes for the best demonstration of what one can do with _BuildXSLT_: -~~~ +```xsl <transformation mode="chain"> <link>src/steps/list.xsl</link> <link>src/steps/plan.xsl</link> <link>src/steps/process.xsl</link> <link>src/steps/summarize.xsl</link> </transformation> -~~~ -{: .language-xsl} +``` -~~~ +```xsl <task type="module"> <input mode="embedded"> <datasource> @@ -40,8 +39,7 @@ While _BuildXSLT_ offers enough flexibility for all kinds of different XSLT base </input> <definition mode="file">[StaticXSLT.xml]</definition> </task> -~~~ -{: .language-xsl} +``` [InputXSLT]: /page/input_xslt/ [static site generator]: /page/static_xslt/ diff --git a/pages/projects/codepoint_iterator.md b/pages/projects/codepoint_iterator.md index 6da24ea..4ba929c 100644 --- a/pages/projects/codepoint_iterator.md +++ b/pages/projects/codepoint_iterator.md @@ -18,7 +18,7 @@ For readers versed in German a [blog article] describing the implementation in a While all features of this class are demonstrated by Google-Test based [Unit-Tests] we can see a basic `UTF8::CodepointIterator` usage example in the following code snippet. The [example text] is written in Old Norse runes. -~~~ +```cpp std::string test(u8"ᛖᚴ ᚷᛖᛏ ᛖᛏᛁ ᚧ ᚷᛚᛖᚱ ᛘᚾ ᚦᛖᛋᛋ ᚨᚧ ᚡᛖ ᚱᚧᚨ ᛋᚨᚱ"); for ( UTF8::CodepointIterator iter(test.cbegin()); @@ -26,8 +26,7 @@ for ( UTF8::CodepointIterator iter(test.cbegin()); ++iter ) { std::wcout << static_cast<wchar_t>(*iter); } -~~~ -{: .language-cpp} +``` [Github]: https://github.com/KnairdA/CodepointIterator [cgit]: http://code.kummerlaender.eu/CodepointIterator/ diff --git a/pages/projects/const_list.md b/pages/projects/const_list.md index 9a5c18c..efd60a0 100644 --- a/pages/projects/const_list.md +++ b/pages/projects/const_list.md @@ -22,7 +22,7 @@ Note that these restrictions were overcome in my [second attempt] at this proble ## Usage example -~~~ +```cpp const int sum{ ConstList::foldr( ConstList::make(1, 2, 3, 4, 5), @@ -32,8 +32,7 @@ const int sum{ 0 ) }; // => 15 -~~~ -{: .language-cpp} +``` [Github]: https://github.com/KnairdA/ConstList/ [cgit]: http://code.kummerlaender.eu/ConstList/ diff --git a/pages/projects/input_xslt.md b/pages/projects/input_xslt.md index 8cd8eee..b270aac 100644 --- a/pages/projects/input_xslt.md +++ b/pages/projects/input_xslt.md @@ -12,12 +12,13 @@ Contrary to popular opinion I actually like XSLT as a content transformation lan The following table summarizes all the external functions provided by InputXSLT. They are available under the `InputXSLT` namespace after including `function.inputxslt.application` into the stylesheet element. -|Function |Description | -|`read-file` |Reading plain text files as text and XML files as node trees | -|`read-directory` |Traversing filesystem directories | -|`external-command` |Executing external commands including support for providing the input stream and capturing the output stream | -|`write-file` |Committing plain text or node trees to the filesystem | -|`generate` |Calling transformations including support for capturing the result or committing it directly to the filesystem| +Function Description +------------------ -------------------------------------------------------------------------------------------------------------- +`read-file` Reading plain text files as text and XML files as node trees +`read-directory` Traversing filesystem directories +`external-command` Executing external commands including support for providing the input stream and capturing the output stream +`write-file` Committing plain text or node trees to the filesystem +`generate` Calling transformations including support for capturing the result or committing it directly to the filesystem The `ixslt` XSLT frontent provided by InputXSLT also implements a custom include entity resolver alongside to an easy to use interface for implementing further custom extension functions. diff --git a/pages/projects/kv.md b/pages/projects/kv.md index ff11915..b6fa527 100644 --- a/pages/projects/kv.md +++ b/pages/projects/kv.md @@ -8,16 +8,17 @@ The MIT licensed source code may be found on [Github] or [cgit]. ## Usage example -|Command |Description | -|`kv [show]` |List all stores | -|`kv [show] test` |List all keys of store _test_ | -|`kv [show] test dummy` |Print value of key _dummy_ in store _test_ | -|`kv all` |List all keys and values of all stores | -|`kv all test` |List all keys and values of store _test_ | -|`kv all test dummy` |Display key and value of key _dummy_ in store _test_| -|`kv write test dummy example`|Write value _example_ to key _dummy_ in store _test_| -|`kv delete test dummy` |Delete key _dummy_ of store _test_ | -|`kv rename test dummy dummy2`|Rename key _dummy_ of store _test_ to _dummy2_ | +Command Description +----------------------------- ---------------------------------------------------- +`kv [show]` List all stores +`kv [show] test` List all keys of store _test_ +`kv [show] test dummy` Print value of key _dummy_ in store _test_ +`kv all` List all keys and values of all stores +`kv all test` List all keys and values of store _test_ +`kv all test dummy` Display key and value of key _dummy_ in store _test_ +`kv write test dummy example` Write value _example_ to key _dummy_ in store _test_ +`kv delete test dummy` Delete key _dummy_ of store _test_ +`kv rename test dummy dummy2` Rename key _dummy_ of store _test_ to _dummy2_ [Github]: https://github.com/KnairdA/kv/ [cgit]: http://code.kummerlaender.eu/kv/ diff --git a/pages/projects/static_xslt.md b/pages/projects/static_xslt.md index 8644a6b..b15a9f4 100644 --- a/pages/projects/static_xslt.md +++ b/pages/projects/static_xslt.md @@ -14,13 +14,13 @@ The implementation of the static site generator is contained within the `src/ste These transformations traverse the given source directory, plan tasks[^2] to be executed, process those tasks and summarize the result for the user. -~~~ +``` common:~# ixslt --input make.xml --transformation ../BuildXSLT/build.xsl Tasks processed: 19 Tasks successful: 19 ▶ Generation successful. common:~# -~~~ +``` The first of these transformations `list.xsl` traverses and lists a `source` directory containing various _levels_ depicting the different stages of the actual static site generation process as a base for all further processing. diff --git a/pages/projects/telebot.md b/pages/projects/telebot.md index a29e27e..3f2d2f8 100644 --- a/pages/projects/telebot.md +++ b/pages/projects/telebot.md @@ -12,24 +12,22 @@ _Telebot_ is available under the terms of the MIT license on [Github] and [cgit] All _basic_ API wrappers are named the same as their method name and require the bot's token as their first argument. Further parameters are expected as named key value pairs. Note that the library currently only verifies that all required parameters are supplied at all while type verification is left to _Telegram's_ server side logic. -~~~ +```lisp (sendMessage token chat_id: chat_id text: text) -~~~ -{:.language-lisp} +``` All API wrappers return the raw deserialized JSON results as to not limit the options for further parsing unnecessarily. The only non-API wrapper provided by this library is `pollUpdates` which enables passing updates acquired via long polling of `getUpdates` to an arbitrary function as follows: -~~~ +```lisp (pollUpdates token (lambda (u) (begin (print-message u) (echo-message u)))) -~~~ -{:.language-lisp} +``` [documentation]: https://core.telegram.org/bots/api [Github]: https://github.com/KnairdA/telebot/ diff --git a/pages/projects/trie.md b/pages/projects/trie.md index 11e3463..d0bddb2 100644 --- a/pages/projects/trie.md +++ b/pages/projects/trie.md @@ -17,7 +17,7 @@ A prefix tree or _Trie_ is a data structure that can be used to store a dynamic The following example demonstrates the usage of the `Trie` class template specialized on a key and value type. While the first is obviously required the second may be ommitted if not required. Further usage examples are available as Google-Test based [test cases]. -~~~ +```cpp Trie<uint8_t, uint8_t> trie; trie.add({1, 1, 1, 1}, 42); @@ -28,8 +28,7 @@ trie.add({2, 3, 1, 2}, 45); std::cout << trie.get({1, 1, 1, 1}) << std::endl; // true std::cout << trie.get({1, 1, 1, 1}).get() << std::endl; // 42 std::cout << trie.get({1, 2}) << std::endl; // false -~~~ -{: .language-cpp} +``` [Github]: https://github.com/KnairdA/Trie [cgit]: http://code.kummerlaender.eu/Trie/ diff --git a/pages/projects/type_as_value.md b/pages/projects/type_as_value.md index 5a8e37a..2ee35a1 100644 --- a/pages/projects/type_as_value.md +++ b/pages/projects/type_as_value.md @@ -30,7 +30,7 @@ Furthermore an overview of this library alongside some background information is ## Usage example -~~~ +```cpp // λ (length (filter odd? (list 1 2 3))) // 2 @@ -40,8 +40,7 @@ const std::size_t count = tav::Length< tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>> > >::value; -~~~ -{: .language-cpp} +``` More extensive [examples] are available in the form of implementations of the _Sieve of Eratosthenes_ as well as of a _Turing machine_. |