dollardoc


Namedollardoc JSON
Version 0.4.0 PyPI version JSON
download
home_pagehttps://github.com/dollardoc/dollardoc
SummaryObject oriented markdown documentation
upload_time2023-05-08 16:49:01
maintainer
docs_urlNone
authordollardoc
requires_python>=3.6
license
keywords documentation object-oriented objectoriented object oriented markdown processing organize version
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # DollarDoc

Dollardoc is a unique documentation method that uses Markdown and a pseudo object-oriented model to simplify documentation in complex environments. By utilizing dollar-plugins, dollardoc provides a feature-rich documentation method, while still being lightweight and straightforward.

## Getting Started

### Installation

To begin using dollardoc, first install Python 3.9 or above: [https://www.python.org/downloads/](https://www.python.org/downloads/).

Then you can install dollardoc with pip in a terminal

``` bash
$ pip install dollardoc
```

After that you will need two files, one python file, which starts a build. And one configuration file, which tells dollardoc about the documentation environment.

`build.py`

``` python
from dollar.builder.dollarbuilder import DollarBuilder


def main():
    DollarBuilder.build()


if __name__ == '__main__':
    main()

```

`dollarconfig.yaml`

``` yaml
docs_path: docs
target_path: output
plugin_path: plugin
file_passthrough:
  - .md
  - .txt
```

Now you just need to create two folders in your project, `docs/` and `plugin/` and you are ready to start writing dollar-style documentation.

#### Quicker Alternative

You can also use the [dollar-project-boilerplate](https://github.com/dollardoc/dollardoc-project-boilerplate) project, which will provide you with a quick start.

### Folder Structure

This is the recommended folder structure to simply organize your dollardoc project.

``` text
dollardoc_test_project
├── docs
│   └── ... Dollardoc and Markdown files
├── plugin
│   ├── block
│   │   └── ... Block plugin python files
│   ├── extension
│   │   └── ... Extension plugin python files
│   └── function
│       └── ... Function plugin python files
├── build.py
└── dollarconfig.yaml
```

### Creating Your First Documentation File

Dollar-files end with `.mdd` to differentiate them from normal markdown files. All dollar-files start with a header-section. The syntax of the header-section is in yaml and contains variables that can be used by this document and other documents. Although other documents' use of these variables is limited to their respective content-section, the header can only refer to variables in it's own context and other dollar-files (by refering to their id).

The content part is plain markdown, with the addition of dollar-references, dollar-functions and dollar-blocks.

#### Example Input

``` markdown
---
id: id-is-required
type: page

title: Some Title
description: Some description of the page

some-variable: Example text in $this.id
some-list:
  - First item
  - $another-page-id
---

# $this.title

$this.description

Variable some-variable from this has the value: $this.some-variable

Variable title from another-page-id has the value: $another-page-id.title

You can also create simple inline links to another object like $another-page-id by just writing a reference to the id.

## Dollar Function Example

$$List($this.some-list)

## Dollar Block Example

Currently there are no standard library dollar blocks to show as an example, this is *under construction*.

```

#### Example Output

``` markdown

# Some Title

Some description of the page

Variable some-variable from this has the value: Example text in id-is-required

Variable title from another-page-id has the value: Another Page Title

You can also create simple inline links to another object like [Another Page Title](./another-page-id.md) by just writing a reference to the id.

## Dollar Function Example

* First item
* [Another Page Title](./another-page-id.md)

## Dollar Block Example

Currently there are no standard library dollar blocks to show as an example, this is *under construction*.

```

### Building the Documentation

``` bash
$ python build.py
```

Unless there is an exception, all your generated markdown files will show up in the `output/` folder.

## Dollar Syntax Specification Document

[dollar-syntax-specification-v0_1_0.pdf](https://github.com/dollardoc/dollar-syntax-specification/releases/download/v0.1.0/dollar-syntax-specification-v0_1_0.pdf)

## Outputs Supported

This project only supports plain markdown files. Other alternatives has been considered, like docusaurus style markdown output, but nothing has been decided at this moment.

## Future of the Project

* **Syntax specification**
  * An outline of the syntax specification is currently in progress.

* **Support for tags**
  * Add the ability to create indirect links between different pages using tags. This simplifies the process of linking related documentation pages without requiring the creation of entire new pages.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/dollardoc/dollardoc",
    "name": "dollardoc",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "documentation,object-oriented,objectoriented,object oriented,markdown,processing,organize,version",
    "author": "dollardoc",
    "author_email": "development@dollardoc.dev",
    "download_url": "https://files.pythonhosted.org/packages/19/bb/9d570cb5c04fa093a1dd3896f930720d8a1615751eb9a07c7f4a00470a7a/dollardoc-0.4.0.tar.gz",
    "platform": null,
    "description": "# DollarDoc\r\n\r\nDollardoc is a unique documentation method that uses Markdown and a pseudo object-oriented model to simplify documentation in complex environments. By utilizing dollar-plugins, dollardoc provides a feature-rich documentation method, while still being lightweight and straightforward.\r\n\r\n## Getting Started\r\n\r\n### Installation\r\n\r\nTo begin using dollardoc, first install Python 3.9 or above: [https://www.python.org/downloads/](https://www.python.org/downloads/).\r\n\r\nThen you can install dollardoc with pip in a terminal\r\n\r\n``` bash\r\n$ pip install dollardoc\r\n```\r\n\r\nAfter that you will need two files, one python file, which starts a build. And one configuration file, which tells dollardoc about the documentation environment.\r\n\r\n`build.py`\r\n\r\n``` python\r\nfrom dollar.builder.dollarbuilder import DollarBuilder\r\n\r\n\r\ndef main():\r\n    DollarBuilder.build()\r\n\r\n\r\nif __name__ == '__main__':\r\n    main()\r\n\r\n```\r\n\r\n`dollarconfig.yaml`\r\n\r\n``` yaml\r\ndocs_path: docs\r\ntarget_path: output\r\nplugin_path: plugin\r\nfile_passthrough:\r\n  - .md\r\n  - .txt\r\n```\r\n\r\nNow you just need to create two folders in your project, `docs/` and `plugin/` and you are ready to start writing dollar-style documentation.\r\n\r\n#### Quicker Alternative\r\n\r\nYou can also use the [dollar-project-boilerplate](https://github.com/dollardoc/dollardoc-project-boilerplate) project, which will provide you with a quick start.\r\n\r\n### Folder Structure\r\n\r\nThis is the recommended folder structure to simply organize your dollardoc project.\r\n\r\n``` text\r\ndollardoc_test_project\r\n\u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac docs\r\n\u00e2\u201d\u201a   \u00e2\u201d\u201d\u00e2\u201d\u20ac\u00e2\u201d\u20ac ... Dollardoc and Markdown files\r\n\u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac plugin\r\n\u00e2\u201d\u201a   \u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac block\r\n\u00e2\u201d\u201a   \u00e2\u201d\u201a   \u00e2\u201d\u201d\u00e2\u201d\u20ac\u00e2\u201d\u20ac ... Block plugin python files\r\n\u00e2\u201d\u201a   \u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac extension\r\n\u00e2\u201d\u201a   \u00e2\u201d\u201a   \u00e2\u201d\u201d\u00e2\u201d\u20ac\u00e2\u201d\u20ac ... Extension plugin python files\r\n\u00e2\u201d\u201a   \u00e2\u201d\u201d\u00e2\u201d\u20ac\u00e2\u201d\u20ac function\r\n\u00e2\u201d\u201a       \u00e2\u201d\u201d\u00e2\u201d\u20ac\u00e2\u201d\u20ac ... Function plugin python files\r\n\u00e2\u201d\u0153\u00e2\u201d\u20ac\u00e2\u201d\u20ac build.py\r\n\u00e2\u201d\u201d\u00e2\u201d\u20ac\u00e2\u201d\u20ac dollarconfig.yaml\r\n```\r\n\r\n### Creating Your First Documentation File\r\n\r\nDollar-files end with `.mdd` to differentiate them from normal markdown files. All dollar-files start with a header-section. The syntax of the header-section is in yaml and contains variables that can be used by this document and other documents. Although other documents' use of these variables is limited to their respective content-section, the header can only refer to variables in it's own context and other dollar-files (by refering to their id).\r\n\r\nThe content part is plain markdown, with the addition of dollar-references, dollar-functions and dollar-blocks.\r\n\r\n#### Example Input\r\n\r\n``` markdown\r\n---\r\nid: id-is-required\r\ntype: page\r\n\r\ntitle: Some Title\r\ndescription: Some description of the page\r\n\r\nsome-variable: Example text in $this.id\r\nsome-list:\r\n  - First item\r\n  - $another-page-id\r\n---\r\n\r\n# $this.title\r\n\r\n$this.description\r\n\r\nVariable some-variable from this has the value: $this.some-variable\r\n\r\nVariable title from another-page-id has the value: $another-page-id.title\r\n\r\nYou can also create simple inline links to another object like $another-page-id by just writing a reference to the id.\r\n\r\n## Dollar Function Example\r\n\r\n$$List($this.some-list)\r\n\r\n## Dollar Block Example\r\n\r\nCurrently there are no standard library dollar blocks to show as an example, this is *under construction*.\r\n\r\n```\r\n\r\n#### Example Output\r\n\r\n``` markdown\r\n\r\n# Some Title\r\n\r\nSome description of the page\r\n\r\nVariable some-variable from this has the value: Example text in id-is-required\r\n\r\nVariable title from another-page-id has the value: Another Page Title\r\n\r\nYou can also create simple inline links to another object like [Another Page Title](./another-page-id.md) by just writing a reference to the id.\r\n\r\n## Dollar Function Example\r\n\r\n* First item\r\n* [Another Page Title](./another-page-id.md)\r\n\r\n## Dollar Block Example\r\n\r\nCurrently there are no standard library dollar blocks to show as an example, this is *under construction*.\r\n\r\n```\r\n\r\n### Building the Documentation\r\n\r\n``` bash\r\n$ python build.py\r\n```\r\n\r\nUnless there is an exception, all your generated markdown files will show up in the `output/` folder.\r\n\r\n## Dollar Syntax Specification Document\r\n\r\n[dollar-syntax-specification-v0_1_0.pdf](https://github.com/dollardoc/dollar-syntax-specification/releases/download/v0.1.0/dollar-syntax-specification-v0_1_0.pdf)\r\n\r\n## Outputs Supported\r\n\r\nThis project only supports plain markdown files. Other alternatives has been considered, like docusaurus style markdown output, but nothing has been decided at this moment.\r\n\r\n## Future of the Project\r\n\r\n* **Syntax specification**\r\n  * An outline of the syntax specification is currently in progress.\r\n\r\n* **Support for tags**\r\n  * Add the ability to create indirect links between different pages using tags. This simplifies the process of linking related documentation pages without requiring the creation of entire new pages.\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Object oriented markdown documentation",
    "version": "0.4.0",
    "project_urls": {
        "Homepage": "https://github.com/dollardoc/dollardoc"
    },
    "split_keywords": [
        "documentation",
        "object-oriented",
        "objectoriented",
        "object oriented",
        "markdown",
        "processing",
        "organize",
        "version"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2e05f535bb6183fbbf68ce7219d99a330af27f73607205ff4dd2a136dedf3ecd",
                "md5": "38c0847db37c7cf9eae149beb2fdac1a",
                "sha256": "0e7ddd91f31ea88e5606d9ab5cb47d8e554f4bb22201c52583b254f6287ce6a0"
            },
            "downloads": -1,
            "filename": "dollardoc-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "38c0847db37c7cf9eae149beb2fdac1a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 52283,
            "upload_time": "2023-05-08T16:48:58",
            "upload_time_iso_8601": "2023-05-08T16:48:58.820227Z",
            "url": "https://files.pythonhosted.org/packages/2e/05/f535bb6183fbbf68ce7219d99a330af27f73607205ff4dd2a136dedf3ecd/dollardoc-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "19bb9d570cb5c04fa093a1dd3896f930720d8a1615751eb9a07c7f4a00470a7a",
                "md5": "b9b226aa1d0e1721efea7b756f319dff",
                "sha256": "c608c4d430af5967971c7b1247b2ae8f60c16cab0c8f31ca854cf9a02a4854bd"
            },
            "downloads": -1,
            "filename": "dollardoc-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b9b226aa1d0e1721efea7b756f319dff",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 39098,
            "upload_time": "2023-05-08T16:49:01",
            "upload_time_iso_8601": "2023-05-08T16:49:01.401122Z",
            "url": "https://files.pythonhosted.org/packages/19/bb/9d570cb5c04fa093a1dd3896f930720d8a1615751eb9a07c7f4a00470a7a/dollardoc-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-08 16:49:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dollardoc",
    "github_project": "dollardoc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "dollardoc"
}
        
Elapsed time: 2.12925s