Skip to main content

A script to generate multiple Factorio changelog formats.

Project description

Factorio Changelog Creator

This is a quick and dirty python script for generating changelog for Factorio mods in various formats.

Quick install

Install latest version from PYPI

pip install factorio-changelog-creator

Install the current dev version from GitHub

pip install git+https://github.com/Roang-zero1/factorio-changelog-creator.git

Usage

Get the script file and put it somewhere on your computer.

Run the script from the command line using factorio-changelog-creator. If no parameters are given, it will look for a file named changelog.json in the directory it was called from and it will output into the same directory.

There is a command line help available, which can be outputted with factorio-changelog-creator -h.

usage: factorio-changelog-creator [-h]
                                  [-f {md,ingame,forum} [{md,ingame,forum} ...]]
                                  [-v]
                                  [output_dir] [input_file]

Factorio changelog generator

positional arguments:
  output_dir            Directory where the files will be written
  input_file            JSON file to parse for changes

optional arguments:
  -h, --help            show this help message and exit
  -f {md,ingame,forum} [{md,ingame,forum} ...], --formats {md,ingame,forum} [{md,ingame,forum} ...]
                        Which format[s] should be generated
  -v, --verbose         Output verbosity

By default the markdown and in-game changelog will be generated. The forum changelog can be generated with python3 changelog-script.py -f forum.

  • changelog_forum.txt: The syntax forums.factorio.com uses
  • CHANGELOG.md: A markdown syntax that should work both on mods.factorio.com and GitHub
  • changelog.txt: The syntax the game uses - this is what should be left in the mod

Format

The changelog definition file should be a JSON file containing a dictionary of version dictionaries.

The format of the dictionary is this:

{
  "0.1.0": {
    "date": "2019-06-08", -- Optional, can be anything

    "Changes": ["Change without category"], --Changes will be put in the Other Category

    "Categories": { -- Categories may be any string
      "Features": ["Change in category"]
    }
  }
}

Changes can be declared as simple strings, or as a table in the following format:

{
  "change": "Change description", -- Mandatory
  "more": "https://link.to.nowhere.com", -- Optional
  "by": "Name", -- Optional
}

more and by work in the same way, but have different meanings: more is a link with more information and by is the author of the change. They can be either a single entry or a list of entries, the list will be outputted comma-separated. Each entry may either be a plain string that will be directly used or a dictionary with a single entry in the format:

{
  "url_text": "url_target"
}

Depending on the format either a link will be generated of if this in not possible more will use the url_target value and by will use the url_text.

Acknowledgement

Initial Lua implementation by theRustyKnife/factorio-changelog-script

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

factorio-changelog-creator-1.1.2.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file factorio-changelog-creator-1.1.2.tar.gz.

File metadata

  • Download URL: factorio-changelog-creator-1.1.2.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0b1 CPython/3.7.5 Linux/5.3.0-24-generic

File hashes

Hashes for factorio-changelog-creator-1.1.2.tar.gz
Algorithm Hash digest
SHA256 488720a5e98b9134f94c829eca295d71f45531aa9adfc2424c3b9b8e75b2e847
MD5 b4b14a0ab14f30b244eeada85f4c97df
BLAKE2b-256 41dd7894658fc8b7f1deb3278fb0face76a66a51d150aaf3d64323b1c4bd9197

See more details on using hashes here.

File details

Details for the file factorio_changelog_creator-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for factorio_changelog_creator-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7c75983cd73528f9fbccc483cda24e5625aef9d3acce200c17282291bf75374a
MD5 8d133dba6b4e21f616091c92f1b96854
BLAKE2b-256 2efc3fab0fbf01a2291ac94e316ae7e7698ffc99dcff726cc4921659f24a2757

See more details on using hashes here.

Supported by

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