Welcome to the open source documentation of the fiskaltrust interface!
The technical specification of the data interface described in this document provides information regarding the following areas:
- Access to the fiskaltrust.Service
- Integration into the receipt based cash register workflow
- The data structure
- Function structure of the interface
- Types of communication with fiskaltrust.Service
- Operating categories Interface specification is provided by fiskaltrust.Interface nuget package, which can be found at https://www.nuget.org/packages/fiskaltrust.interface
Official PDF documents that are built from the source in this repository can be found on the Releases page.
If you want to contribute to this documentation, please review this README file to understand how it is structured and which tools are used.
All documentation files are stored within the /doc
folder in this repository (markdown, images, other static content).
- One sub-directory and one or more markdown file(s) per chapter should be created (e.g.
general/general.md
.)- 1st and 2nd level headings should be split into separate files.
- Each chapter markdown file must be included into the table of contents in
/doc/toc.md
. DocFx will scan this file to compose the PDF documentation.- The order from the toc file is used to define the chapter order in the PDF file.
- You may also use multiple files per chapter, but keep in mind that a page-break is created by DocFx after every markdown file.
- Images must be stored within a folder called
images
. Multiple image folders in different sub-directories are supported, DocFx just scans for the directory name.
A reference to a markdown file can be created like this: [Reference Text](./path-to-file/filename.md)
.
Note that reference paths should be relative.
If you want to reference something specific inside a markdown file you need to create a anchor where you want your reference to point to.
Anchors can be created like this: <span id="anchor-name">Referenced Item</span>
.
The anchor id should adhere to the following convention: <prefix>-<name>-<linenumber>
The <prefix>
shows what is referenced (c
for a chapter, t
for a table, i
for an illustration and l
for a code listing).
The <name>
is the name of the referenced item in lowercase letters with -
instead of whitespaces.
The <linenumber>
is the linenumber of the anchor at the time of writing. This serves the prevention of duplicate names in a markdown file.
An anchor could look like this:
```
some code
```
<span id="l-example-for-an-anchor-on-a-codelisting-43">Example for an anchor on a codelisting</span>
You can referencte an anchored item like this: [Reference Text](#anchor-name)
.
You can also reference anchors in other files like this:
[This](./path-to-file/filename.md#l-example-for-an-anchor-on-a-codelisting-43) is an example for a reference to the codelisting from the previous example.
DocFx is a documentation generation tool that creates HTML and PDF documentation from markdown files. It's e.g. be used by Microsoft to generate docs.microsoft.com.
Use either chocolatey or nuget.exe to install DocFx, as described here.
Docfx will produce warnings for incorrect markdown (including incorrect references).
wkhtmltopdf is used internally by DocFx to convert HTML files to PDF. Download and install it from the website linked above.
Please note that wkhtmltopdf 0.12.5 has a bug that prevents the creation of TOCs. Use either the previous (0.12.4) or any newer version.
With markdown-link-ckeck you can check a markdown file for incorrect links. usage:
markdown-link-check ./general/general.md
Please note thst this tool does not find dead references inside a file. Only dead references to nonexisting files / unreachable urls.
-
This documentation supports the PlantUML notation, which will be converted to SVG images and embedded into the PDF during the build.
-
Please add the
skinparam shadowing false
to your diagram. wkhtmltopdf has currently some issues with the transparency caused by the shading. -
The notation for a PlantUML section in the markdown files changed with the new tooling.
-
Example
```plantUml
skinparam shadowing false
Diagram
```
To create a release, clone the repository locally and run the following commands:
git tag <version>
git push origin --tags