There are many, many tools available for managing content these days, however, in this modern era of individual VPSs and virtual environments like Docker, most new tools are not set up to be implementable by users in a classic public shared server environment, such as we prize on tilde sites. Instead, many tools assume that the user is admin on the web server that they want to install a CMS or Wiki, and can control custom configurations.
I have tried several freely available web Content Management System (CMS) and wiki packages, and found some long-standing projects as well as some cool projects people have put together (like the program running the wiki you are reading right now). Focusing on packages that don't require a database to set up, I have determined the following ones can be installed in your user ''public_html'' space and work. Each has certain strengths and weaknesses, and some are designed to be more multi-user, allowing you to have individual contributors that don't need their own shell accounts. All are designed to allow you to create content from the website itself, not requiring you to log in to your shell account to add or modify content, and are further designed to give you an interface that lets you to author content in an easier markup than HTML, and to give you templates to give your web site a cohesive look.
As I mentioned above, the packages listed here also use the regular file system for storage. There are even more web CMSs and wikis, not listed below (Drupal, for example) that do require a database. Also what I've found is that PHP solutions tend to be accepted better by default webserver configurations (especially nginx, where other languages may not work) I admit to not having done most of my research here at tilde.green (I know that tilde.town doesn't support PHP or CGI). I also have a brief section on some simple Static Site Generators (SSG) at the end.
Some CMS and Wiki Options
Content Management Systems (CMS)
- Typesetter CMS: Written in PHP. Very nice, multi-user, great UI for page design, cool templates. It used to have its own website, but that looks to be abandoned, leaving the github page. You may need look at the PHP 5.1 update fork...
- GetSimple CMS: Written in PHP. https://getsimple-ce.ovh/ Very straightforward. Single admin user. Looks bulletproof
- Flatpress CMS: Written in PHP. A flat-file version of wordpress that you can set up in your own web folder! Fewer features, but fully yours to control. You can use BBCode as markup, or Markdown via plugins if you like. Many templates for your site. Single admin user, though.
- PivotX CMS: Written in PHP. A nice flat-file CMS that I have been using since 2016. Active development ended in 2017, but it has been in maintenance mode, and honestly still works quite well. Supports multiple admin users and editors, has lots of (dated, but nice) templates for your site.
Links to the above:
Typesetter CMS Git Repository
GetSimple CMS
Flatpress CMS
PivotX CMS Git Repository
PivotX in maintenance mode announcement
Wikis
- DokuWiki: Written in PHP. It's a fine big-boy wiki, easy configuration, re-skinning and extension-adding using the UI Configuration Manager. Has many cool skins, and several decent Responsive Design skins that look good. Has editing buttons to make it so you don't need to know the markup well to use, but also the markup is pretty standardish. It's a little fat versus other solutions I looked at, the main package is 20 MB vs PmWiki for example, which I describe below.
- PmWiki: Written in PHP. Super low resources for a full -featured wiki (only 5MB on disk!), easy to extend with cookbooks. Lots of skins, but just a handful of Responsive Design skins. Configuration, skinning and extension requires copying files and editing a config file in shell. Easy to turn WikiWords back on so it can be a classic quick-to-author wiki experience. Can use Creole markup vs the default, note that pmwiki's native markup is very old school (!Heading and !!Subheading for headings, vs '== Heading') and likely not what you're used to, but you can turn on editing buttons like dokuwiki has by default, too.
- AwkiAwki: Written in awk, requires CGI enabled on server. An AWK-based wiki! Bare bones (no default password contrtol), very very small. Written as a stripped down clone of Ward Cunningham's original wiki engine, AwkiAwki has built-in support for RCS-based versioning, write-protection, theming via CSS, and basic HTML formatting. Being AWK-based, AwkiAwki is very easy to extend in functionality.
- BrutalWiki: Written in PHP. What you are reading right now is in a BrutalWiki! Someone's (felix's) nice project. Very small, very easy to set up. Single JSON file is the wiki 'database'. It can have password-based editing. It's got a fun, quirky markup language that uses "rocket links" which requires you to put links on their own lines, so that changes how you write web pages a bit. No file versioning, so you might want a daily or more frequent backup solution for the JSON db.
https://dokuwiki.org
https://pmwiki.org
http://awkiawki.bogosoft.com
https://felix.plesoianu.ro/web/brutal/
Static Site Generators
Static site generators require you to log in and create pages in Markdown markup in your shell account, then run the generator to rebuild the (static) website. This might be more the tilde experience you are looking for... The advantages are you don't have to craft pages in raw HTML, and SSG generated sites are going to load much quicker for your visitors, and you can use their templating features to keep a uniform look and feel to your pages.You can setup these simple site generator programs in your user space to use:
- SSG5: From the author:
- Zen Static: From the author:
ssg is a static site generator written in shell. Optionally it converts Markdown files to HTML with lowdown(1) or Markdown.pl. Unless a page has <HTML> tag ssg5 extracts its title from <H1> tag, wraps the page with _header.html, _footer.html.Then copies everything (excluding .* or paths listed in src/.ssgignore) from src to dst directory.
This is pretty dead simple. It has a few conventions that you could learn (how it generates page titles for example), but it is quite straightforward and reliable. You can add CSS styling in the _header.html template file.
zs is an extremely minimal static site generator written in Go.
This has a cool default dark mode style, and supports both markdown plugins and general plugins that you can add or write in any language.
Links to the above:
https://www.romanzolotarev.com/ssg.html
https://zs.mills.io/
There are also all kinds of alternative tools people are making all the time, that can give you a simplified SSG-like functionality, but much simpler. For example:
- Siteleteer is a cool page you can just copy to your local machine, create multiple wiki-like pages in your local environment, save the results, and scp or sftp it to your web space, and voila you have a "sitelet" (it's all in one file). Using the existing file to add more content and then pushing this to your web space replacing the existing version is basically the same as a simple SSG!
- oscarmorrison's md-page is a very simple bit of javascript that lets you just write a web page in markdown, and the javascript that you insert into the HTML file with the markdown converts it live into HTML. It's kind of like a very, very basic static site generator, though it does not manage multiple pages at all...
Links to the above:
https://alamantus.codeberg.page/siteleteer/#About%20siteleteer
https://github.com/oscarmorrison/md-page/blob/review/README.md