Skip to main content

CLI utility for publishing markdown files to Outline wiki

Project description

GetOutline CLI

getoutline-cli is an unofficial command-line interface for publishing markdown files to Outline. The primary goal of this project is to automate the process of publishing markdown files to Outline in CI/CD pipelines.

It allows to publish CHANGELOG.md, README.md, or any other markdown file to an Outline wiki.

The list of files to publish is defined in the configuration file .outline-cli.yml. Alternatively, you can specify configuration file using --config option.

Installation and usage

pip install getoutline-cli

To publish markdown files to Outline, run the following command:

getoutline

To specify the configuration file, use the --config option:

getoutline --config some_config.yml

To preview the changes without publishing, use the --preview option:

getoutline --preview

Environment Variables

  • OUTLINE_API_TOKEN - Outline API token (required if not specified in the configuration file)
  • OUTLINE_URL - Outline URL (e.g., https://wiki.example.com) (required if not specified in the configuration file)

Configuration file

The configuration file is a YAML file containing the following fields:

  • token - Outline API token (required if not specified in the environment variables)
  • url - Outline URL (e.g., https://wiki.example.com) (required if not specified in the environment variables)
  • files - List of files to publish (required)

The files field is a list of dictionaries with the following fields:

  • path - Name or path to the markdown file (required)
  • id - Outline document ID (required)
  • title - Title of the document in Outline (optional)
  • append - Append content to the existing document (optional, default is False)
  • publish - Publish the document after updating (optional, default is True)
  • substitutions - List of substitutions to apply to the content (optional)

The substitutions field is a list of dictionaries regex: replacement value, applied to the content of the markdown file before publishing.

Example Configuration File

url: https://wiki.example.com
token: YOUR_OUTLINE_API_TOKEN
files:
  - path: CHANGELOG.md
    id: YOUR_ID_1
    substitutions:
      # Remove links to git commits
      - " ?\\(\\[[a-z0-9]+\\]\\(https://git\\.example\\.com/.+\\)\\)": ""
      # Remove commits without JIRA issues (DEV-XXXX)
      - "^\\* (?!.*\\(DEV-\\d+\\)).*$\\n": ""
      # Remove empty sections
      -  "### .+\\n+": ""
  - path: README.md
    id: YOUR_ID_2
    title: README
    append: false
    publish: true

Keywords

  • GetOutline
  • CI/CD

Authors

  • Alexander Pivovarov

License

License under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

getoutline-cli-0.4.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

getoutline_cli-0.4.0-py2-none-any.whl (5.3 kB view details)

Uploaded Python 2

File details

Details for the file getoutline-cli-0.4.0.tar.gz.

File metadata

  • Download URL: getoutline-cli-0.4.0.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.0

File hashes

Hashes for getoutline-cli-0.4.0.tar.gz
Algorithm Hash digest
SHA256 e20366b1d42a7c2b743e8ad5d255f90ebaaf355edea2433a3e5e19547755e8c1
MD5 78538ded22ee5f552d46b9381e6eb310
BLAKE2b-256 9a96fefc89625f294ecb7c59ad390c796bb8ff79a4b3dfe2999f624133cc0bce

See more details on using hashes here.

File details

Details for the file getoutline_cli-0.4.0-py2-none-any.whl.

File metadata

  • Download URL: getoutline_cli-0.4.0-py2-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.0

File hashes

Hashes for getoutline_cli-0.4.0-py2-none-any.whl
Algorithm Hash digest
SHA256 e0d344976a7146298a747bd032e39ef78b417cc82d26899832e6b98605aea3b3
MD5 3cec8943c4ecb3b6ed0aabeae0173059
BLAKE2b-256 d45d9424ec4ecdfe165624c246c29afff739154a9d7e8d3a98d1b1179322f035

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page