Giter VIP home page Giter VIP logo

kerbalchangelog's Introduction

KerbalChangeLog

This project is meant to be a simple way for mod creators to add an ingame changelog for their users when they release a new version.
THIS WILL DO NOTHING ON ITS OWN

Adding a changelog

To add a changelog, simply create a config file (.cfg) with the following nodes and fields (as an example):

KERBALCHANGELOG
{
	showChangelog = True //optional but strongly recommended (will be created if non-existant)
	modName = Kerbal Changelog //required
	license = MIT //optional
	author = Benjamin Cronin //optional
  
	VERSION //Node(s) required for anything to show up
	{
		verison = 1.8 //optional but strongly recommended (will display as version D.N.E otherwise)
		versionName = Audacious Apple //optional
		CHANGE //required in order to utilize subchanges
		{
			change = Add features suggested by zer0Kerbal //required in a CHANGE node
			subchange = Add new change nodes //optional, as many as you want
			subchange = Add license field
			subchange = Add author node
			subchange = Add version naming field
		}
		change = Internal code rewrite to improve maintainability //change fields can be outside of CHANGE nodes, but order is not maintained
	}
	VERSION
	{
		version = 1.1.7
		CHANGE
		{
			change = Update for KSP 1.9
		}
		CHANGE
		{
			change = Downgrade to .NET 4.5 for compatibility
		}
	}
}

This will then be outputted in a changelog window that appears in the space center view the first time the user loads a game with a changelog that has the showChangelog set to True. After this initial load, the user will no longer see the changelog for that mod until the mod creator releases a new version with the changelog cfg file's showChangelog field set to True.

KCL will handle as many mods as have changelogs the user has installed, but please do not create multiple changelog files for a single mod. This will lead to multiple changelog pages showing up in the window, and confusion for everyone.

kerbalchangelog's People

Contributors

ambercronin avatar linuxgurugamer avatar

Stargazers

zer0Kerbal avatar  avatar Daniel Solmann avatar

Watchers

Scott avatar  avatar

kerbalchangelog's Issues

Enhancement/Feature Request: date and forKSP fields

So just two more informative fields:

VERSION
{
  version = x.y.z 
  versionName = Bad Banana!
  versionDate = 2020 Mar 15
  versionKSP = 1.9.1
  change = thank you in advance. 
  change = that darn zer0Kerbal!
  CHANGE
  {
    change = added two new fields
    subchange = versionDate: text field for version release date
    subchange = versionKSP: text (or version) field for version KSP version target
  }
}

ENHANCEMENT: Offer Initial Display option

I know the title is confusing so what I mean is to offer an option to either display changelogs as it currently is or to display the changelog selection screen initially.

Personally, I don't really care about reading changelogs before knowing which ones have changed. I keep track of most changes happening on GitHub and know what a release is expected to contain. I'd rather see the list of updated mods and choose which ones I actually what to read.

Request: features

Appreciate this mod! ๐Ÿ‘

I often have many changes in one version, especially when adopting. Things I would like to see added to KCL:

  • ability to group items together: so
change = PART.CFG changes:
subchange = did this
subchange = did that

โ€” or โ€”

change = part.cfg changes:
SUBCHANGE
{
sub = x
sub = y
}
  • "
  • optional: "license - xxx" right after modName
  • optional: "author - xxx" right after modName
  • optional: "versionName = string" after version = xxx
  • stretch: would love to be able to include markdown basics (bold,ital,under,strikethroug) and color
  • would love to have a simple utility that converts from KCL -> markdown and/or html
    just thoughts

thank you!

[feature request] Add type of change

Changelogs should be able to distinguish between several different types of changes:

  • changes (as you support now)
  • fixes (changes, but specifically to fix a known bug)
  • new (new features)
  • deprecated/removed (for things which have been removed)

Unfortunately 1.2.0.0 already added the "subchange" tag, or I would have proposed having a "sub"/"indent"/"level" parameter on each change as well as the "type".

Or in addition to "change" have "new" and "fix".

So not entirely sure how to integrate without breaking existing KerbalChangelog-compatible changelogs.

PS: This seems to be a decent "best practices" for Changelogs: https://keepachangelog.com/

Might also be a useful reference for KerbalChangelogCreator?

High-priority/Game-breaking changes displayed differently.

Display high priority or game-breaking changes in as a separate screen at the beginning of the game.
May use red text to emphasize, regardless, will require some sort of confirmation that the changelog has been read and agreed to. (Perhaps a check mark next to each change?)

No error checking

Errors in the changelog in other mods causing this mod to error in the loading of the file

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.