Switched to conver; added conver-tool.
h3rald h3rald@h3rald.com
Fri, 12 Jun 2026 15:31:02 +0200
9 files changed,
113 insertions(+),
4 deletions(-)
A
VERSIONING.md
@@ -0,0 +1,7 @@
+This project uses the Convergent Versioning system. + +The version number is a 2-byte hexadecimal integer from 0x0000 to 0xFFFF, with the first three digitsindicating the project _dependability score_ and the last digit encoding the version impact, compatibility, and purpose. + +A version number compliant with Semantic Versioning can be derived from the project history, and will still be used if required by package managers or similar software. + +For more information, see the [Convergent Versioning specification](https://h3rald.com/conver).
A
contents/conver-tool.md
@@ -0,0 +1,86 @@
+----- +id: conver +home: /conver-tool/ +title: "conver (tool)" +subtitle: "A command line tool to manage ConVer projects." +summary: "A simple command line tool that can be used to manage Convergent Versioning for your projects." +content-type: project +active: true +version: 100D +release-color: orange +license: MIT +sourcehut: conver-tool +changelog: true +----- + +**conver** is a simple tool to manage projects implementing [Convergent Versioning](https://h3rald.com/conver). + +### Usage + +``` +conver - Convergent Versioning Tool v100-D +(c) Copyright 2026 Fabio Cevasco + +SYNTAX + conver [<flag> | <command>] + + Where: + <flag> can be one of the following: + -v, --version: Print the version of the program. + -h, --help: Print this help message. + + <command> can be one of the following: + init: Initialize the project for ConVer usage. + draft: Draft a new release by specifying score and metadata. + status: Display the current Draft and Release versions, if any. + release: Move the current draft version to release. + semver: Generate SemVer version number based on history. + history: Print the full version history of the project. +``` + +### The .conver directory and the VERSIONING.md file + +By running `conver init` in the root folder of your project, the following files are created: + +* ./conver — This directory contains some files used to internally manage Convergent Versioning via the _conver_ tool. + * draft.txt — This file is used to store the current _draft_ version of the project you are working on. + * history.txt — This file contains the full Convergent Versioning history (all ConVer releases) of your project. + * legacy.txt — This file can be used to set the legacy Semantic Versioning release number, which will be used to calculate the equivalent SemVer number of your ConVer releases. + * release.txt — This file is used to store the current _release_ version of the project you are working on. + * semver.txr — This file will contain the equivalent SemVer release number generated via `conver semver`. +* VERSIONING.md — This file contains a standard notice informing users that this project follow Convergent Versioning. + +### Commands + +`conver` provides different sub commands, described in the following sections. + +#### init + +This project initializes your project to use ConVer by creating the `.conver` directory and the `VERSIONING.md` file. + +#### draft + +This command asks you some questions about the version of your project you are working on, to determine the correct ConVer number. + +#### release + +This command is used to _release_ an existing draft version of your project. It will write the ConVer version number to the `.conver/release.txt` file and append an entry to the `.conver/history.txt` file. + +#### status + +This command displays the current draft and the current release versions of your project, if any. + +#### history + +This comman prints the full details of each ConVer release of your project by processing the `.conver/history.txt` file. + +#### semver + +This command generates a SemVer-compatible version number for your project by processing the `.conver/history.txt` file, and stores it in `.conver.semver.txt`. + +### Building conver + +`conver` is written in C99 and has no external dependencies. To generate the `conver` or `conver.exe` executable: + +* Clone the [conver-tool](https://git.sr.ht/~h3rald/conver-tool) repository. +* Run `make`
M
contents/h3rald.html
→
contents/h3rald.html
@@ -2,18 +2,29 @@ -----
title: "H3RALD Web Site" content-type: project subtitle: "The site you're looking at" -github: h3rald +version: 450B +release-color: yellow +license: CC--BY--4.0 +sourcehut: h3rald active: true home: /h3rald/ summary: "This very web site, in its 10th incarnation. H3RALD.com has been operative since 2004 and through the years its backend changed from being pure vanilla HTML, to server-side PHP (Prado and CakePHP) to Ruby (Rails, Nanoc), and finally Nim and min (HastySite)." -version: 10.0.0 +version: 5000 ----- <p>The H3RALD.com domain was bought on 28 March 2004 and since then it has always been my home on the Internet. Through the years, a total of 10 major versions of this web site has been released.</p> <p>Currently, this site is fully static, it has no JavaScript, and it is powered by my very own static site generator, <a href="/hastysite">HastySite</a>.</p> <h3>Major Releases</h3> -<h4>Version 10 (March 2024 – present)</h4> +<h4>Version 5000 ( June 2026 – present)</h4> +<p>From this point on, H3RALD.com uses <a href="/conver">Convergent Versioning</a>.</p> +<ul> + <li>Web Server: <a href="http://wiki.nginx.org/Main">Nginx</a></li> + <li>Database: n/a</li> + <li>Framework/<span class="caps">CMS</span>/Other: <a href="https://hastysite.h3rald.com">HastySite</a> (static site generator)</li> + <li>Programming Language: <a href="https://nim-lang.org">Nim</a>, <a href="https://min-lang.org">min</a></li> +</ul> +<h4>Version 10 (March 2024 – June 2026)</h4> <ul> <li>Web Server: <a href="http://wiki.nginx.org/Main">Nginx</a></li> <li>Database: n/a</li>