Metadata-Version: 2.1
Name: dollardoc
Version: 0.3.0
Summary: Object oriented markdown documentation
Home-page: https://github.com/dollardoc/dollardoc
Author: dollardoc
Author-email: development@dollardoc.dev
License: UNKNOWN
Description: # 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
        
        *Specification currently under development*
        
        ## 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.
        
Keywords: documentation,object-oriented,objectoriented,object oriented,markdown,processing,organize,version
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Documentation
Classifier: Topic :: Education
Classifier: Topic :: Office/Business
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Documentation
Classifier: Topic :: Software Development :: Version Control
Classifier: Topic :: Text Editors :: Word Processors
Classifier: Topic :: Text Editors :: Text Processing
Classifier: Topic :: Text Processing
Classifier: Topic :: Text Processing :: Markup
Classifier: Topic :: Text Processing :: Markup :: Markdown
Classifier: Topic :: Utilities
Requires-Python: >=3.6
Description-Content-Type: text/markdown
