Metadata-Version: 2.1
Name: pencil-pusher
Version: 0.9.2
Summary: A python package that compiles source documentation and publishes it to the repo wiki
Home-page: https://github.com/stephend017/pencil-pusher
Author: Stephen Davis
Author-email: stephenedavis17@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
Requires-Dist: appdirs (==1.4.4)
Requires-Dist: attrs (==20.3.0)
Requires-Dist: black (==20.8b1)
Requires-Dist: certifi (==2020.12.5)
Requires-Dist: cfgv (==3.2.0)
Requires-Dist: chardet (==4.0.0)
Requires-Dist: click (==7.1.2)
Requires-Dist: Deprecated (==1.2.11)
Requires-Dist: distlib (==0.3.1)
Requires-Dist: docspec (==0.2.1)
Requires-Dist: docspec-python (==0.1.0)
Requires-Dist: filelock (==3.0.12)
Requires-Dist: flake8 (==3.8.4)
Requires-Dist: identify (==2.1.1)
Requires-Dist: idna (==2.10)
Requires-Dist: iniconfig (==1.1.1)
Requires-Dist: mccabe (==0.6.1)
Requires-Dist: mypy-extensions (==0.4.3)
Requires-Dist: nodeenv (==1.5.0)
Requires-Dist: nr.collections (==0.0.1)
Requires-Dist: nr.databind.core (==0.0.22)
Requires-Dist: nr.databind.json (==0.0.14)
Requires-Dist: nr.fs (==1.6.3)
Requires-Dist: nr.interface (==0.0.4)
Requires-Dist: nr.metaclass (==0.0.6)
Requires-Dist: nr.parsing.date (==0.4.4)
Requires-Dist: nr.pylang.utils (==0.0.4)
Requires-Dist: nr.stream (==0.0.5)
Requires-Dist: nr.sumtype (==0.0.4)
Requires-Dist: nr.utils.re (==0.1.1)
Requires-Dist: packaging (==20.9)
Requires-Dist: pathspec (==0.8.1)
Requires-Dist: pluggy (==0.13.1)
Requires-Dist: pre-commit (==2.11.0)
Requires-Dist: py (==1.10.0)
Requires-Dist: pycodestyle (==2.6.0)
Requires-Dist: pydoc-markdown (==3.10.0)
Requires-Dist: pyflakes (==2.2.0)
Requires-Dist: PyGithub (==1.54.1)
Requires-Dist: PyJWT (==1.7.1)
Requires-Dist: pyparsing (==2.4.7)
Requires-Dist: pytest (==6.2.2)
Requires-Dist: PyYAML (==5.4.1)
Requires-Dist: regex (==2020.11.13)
Requires-Dist: requests (==2.25.1)
Requires-Dist: six (==1.15.0)
Requires-Dist: toml (==0.10.2)
Requires-Dist: tox (==3.23.0)
Requires-Dist: typed-ast (==1.4.2)
Requires-Dist: typing-extensions (==3.7.4.3)
Requires-Dist: urllib3 (==1.26.3)
Requires-Dist: virtualenv (==20.4.2)
Requires-Dist: watchdog (==1.0.2)
Requires-Dist: wrapt (==1.12.1)
Requires-Dist: sd-utils (==0.2.1)

# pencil_pusher ✏️
pencil_pusher: A Github Action that creates and publishes source documentation to the repository's wiki.

# Tech Stack
- :whale: docker
- python
- [pydoc-markdown](https://pydoc-markdown.readthedocs.io/en/latest/)

# Inputs

| Input Name            | Type     | Required | Default                 | Description                                                                                                                                                             |
|-----------------------|----------|----------|-------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| owner_name            | `string` | `true`   | `None`                  | The username of the repository owner                                                                                                                                    |
| repository_name       | `string` | `true`   | `None`                  | The name of the repository being accessed                                                                                                                               |
| personal_access_token | `string` | `true`   | `None`                  | A [github personal access token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) with full repository permissions checked. |
| config_file           | `string` | `false`  | `"./pencil_pusher.config.json"` | This is the location of the config file. The config file is where you define which source files should be documented and how they should map to individual wiki pages.  |

# Config File
This action requires that the calling repository define a file called `pencil_pusher.config.json` where the auto doc generator can process which source files to document and how to map those source files to wiki pages. 

Here is the format
```json
{
  "languages": ["python"],
  "sources": [
    "mypackage/mymodule1/myfile1.py",
    "mypackage/mymodule2/"
  ],
  "title_prefix": "MyPackage",
  "title_suffix": "API",
  "titles": [
    {
      "source_file": "mypackage/mymodule1/myfile1.py",
      "title": "Utilities",
      "use_prefix": true,
      "use_suffix": false
    }
  ]
}

```

| Config | Type | Required | Default | Description |
| --- | --- | --- | --- | --- | 
| languages | `Array<string>` | `true` | `["python"]` | All the languages to process for documentation (currently only python is supported) | 
| sources | `Array<string>` | `true` | `[]` | relative locations to the root of the project of source files to process for documentation. This can be both files and directories. | 
| title_prefix | `string` | `false` | `""` | The text to be appended to the front of each title for each source file wiki doc generated | 
| title_suffix | `string` | `false` | `""` | The text to be appended to the back of each title for each source file wiki doc generated | 
| titles | `Array<json>` | `false` | `[]` | A dictionary for defining custom titles to be generated | 
| titles.source_file | `string` | `true` | `""` | the relative location of the source file being given a custom title (must be a file) |
| titles.title | `string` | `false` | `""` | replacement title to use for this source file | 
| titles.use_prefix | `string` | `false` | `""` | flag if prefix defined above should be used in this title (will be ommitted if `title_prefix` is not defined) | 
| titles.use_suffix | `string` | `false` | `""` | flag if suffix defined above should be used in this title (will be ommitted if `titel_suffix` is not defined) |




