What is Tuskfish?
It's a micro CMS (content management system) for building websites. It is explicitly designed to be simple and lightweight. Tuskfish provides the publishing tools you actually need and not much else. It is written in PHP and uses an embedded SQLite database.
What type of websites can I make with it?
Tuskfish is suitable for publishing blogs, brochure sites, photo galleries, electronic libraries, audio and video podcasts, maps and GPS tracks, collections of content or any combination of the above. Anything where you want to self-publish without direct user input or comment (see below). It's good for small organisations, businesses and personal websites.
How is Tuskfish different to other CMS?
Tuskfish differs from mainstream CMS in that is genuinely:
- Simple. There is one form for adding content to your site, and that's it.
- Easy to maintain. It doesn't need to be updated constantly. Stability is a key consideration.
- Security-conscious: Tuskfish was built from the ground up with an explicitly minimised attack surface, rigorous data validation and 100% prepared statements. There's no legacy code.
- Really, actually, blazingly fast. The MVVM architecture efficiently partitions code, minimising the amount that is read to generate a page. And it explicitly avoids use of third party libraries to prevent bloat.
- Stable. The major feature set is complete. Development is focussed on maintaining compatibility with the latest stable PHP version, and the odd quality of life enhancement.
Like most other modern CMS it is also:
- Flexible: You can publish all sorts of different content - audio, video, text articles, downloads, static pages, maps with GPS tracks, whatever - index it with tags and organise it into collections. You can extend it to add more types with a little effort, since it is based on a subset of Dublin Core metadata elements.
- Mobile-first and responsive. Grab themes from any CSS framework you like and integrate them with a few minutes work. You can assign themes on a per-page basis. It ships with Bootstrap but if you're prepare to roll your own templates you can use anything you want.
- Well documented: Every class and method is documented and a User Manual, Developer Guide and API are available.
Is there anything it is not suited for?
Yes, be aware that only administrative accounts are supported (Admin and content Editors). This means that Tuskfish is not suitable for "community" style sites where random members of the public can make an account and post their own "content". The author considers this a "feature".
Is it free software? Is it open source?
Yes. Tuskfish is distributed under the GNU General Public License Version 2. You can use it, customise it, fork it and share it with whoever you like so long as you do not remove the copyright notices (it is a copyrighted work). You must distribute the code or derivative works under the same license. Please read the license before you distribute the software or its derivatives.
What are the minimum system requirements?
PHP 7.2+ (tested up to PHP 8.2) with the following extensions:
- curl extension + a Yubikey hardware token are required for optional two-factor Yubikey authentication.
Where do I get it?
Is there a Bill of Materials?
Yes, it is maintained here.
Where did you get that awesome tuskfish photo?
I got it off unsplash.com, which is an awesome stock photo site that is actually free. The photo was taken by David Clode, many thanks for sharing it!
Copyright, all rights reserved.