All Projects → paintedsky → dead-simple-blog

paintedsky / dead-simple-blog

Licence: MIT license
A flat-file, database-free, almost-single-file blog "engine" using PHP.

Programming Languages

PHP
23972 projects - #3 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to dead-simple-blog

Pico
Pico is a stupidly simple, blazing fast, flat file CMS.
Stars: ✭ 3,494 (+13338.46%)
Mutual labels:  simple, flat-file
shaai
Shaai's mono-repo library
Stars: ✭ 23 (-11.54%)
Mutual labels:  blogging, blogging-system
Boo
Boo - A beautiful, clean and responsive theme for Ghost.
Stars: ✭ 176 (+576.92%)
Mutual labels:  simple, blogging
Wondercms
WonderCMS - fast and small flat file CMS (5 files)
Stars: ✭ 330 (+1169.23%)
Mutual labels:  simple, flat-file
Lazyblorg
Blogging with Org-mode for very lazy people
Stars: ✭ 226 (+769.23%)
Mutual labels:  simple, blogging
Recon
HA LDAP based key/value solution for projects configuration storing with multi master replication support
Stars: ✭ 12 (-53.85%)
Mutual labels:  simple
plume2
🚀a lightweight React state container for web and app
Stars: ✭ 74 (+184.62%)
Mutual labels:  simple
flat
A flat file database for PHP
Stars: ✭ 15 (-42.31%)
Mutual labels:  flat-file
vertx-start
简单地、快速地启动vert.x的手脚架,保留了vert.x原汁原味的开发方式
Stars: ✭ 102 (+292.31%)
Mutual labels:  simple
Phantom
iOS Ghost Client
Stars: ✭ 20 (-23.08%)
Mutual labels:  blogging
content-o-tron
A process for helping the Rust community and new comers to share their story of using Rust 🤖
Stars: ✭ 18 (-30.77%)
Mutual labels:  blogging
mtDNS
动态域名解析服务,自动获取IP并解析至阿里云!
Stars: ✭ 25 (-3.85%)
Mutual labels:  simple
lwpkt
Lightweight packet protocol structure for multi-device communication focused on RS-485
Stars: ✭ 71 (+173.08%)
Mutual labels:  simple
AhnTri
Super-simple OS
Stars: ✭ 54 (+107.69%)
Mutual labels:  simple
Frontend-Learning-Journey
Tutorials, definitions, frameworks and some of the projects i made when starting to learn frontend web developement
Stars: ✭ 28 (+7.69%)
Mutual labels:  simple
sleek button
A simple but yet customizable button.
Stars: ✭ 63 (+142.31%)
Mutual labels:  simple
CalDOM
An agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM.
Stars: ✭ 176 (+576.92%)
Mutual labels:  simple
simple blockchain
Blockchain code made simple.
Stars: ✭ 24 (-7.69%)
Mutual labels:  simple
dhtml2pdf
Simple, free and very easy to use PHP API that allows you to see, download or get the binary of the PDF generated from the HTML of an URL.
Stars: ✭ 27 (+3.85%)
Mutual labels:  simple
logger
☠ 😈 👀 Simple,Secure & Undetected (6.11.2017) keylogger for Windows :)
Stars: ✭ 37 (+42.31%)
Mutual labels:  simple

Dead Simple Blog

Version 1.1 (2022-11-15)

I've wanted for a long time to create a simple way of blogging that eschews basically all bells and whistles. Many "flat file" Content Management Systems exist already, as well as "static site generators", but none of these that I looked at were simple enough for my liking.

I don't want to have to install Ruby, or Python, or Composer, or whatever else on a server to run a blog. On the other hand, installing WordPress or one of the other popular PHP-based CMSes for this use case is like hammering in a nail with a sledgehammer.

Many people dislike PHP, and while it has its warts, I like it. I like using (vanilla) PHP simply because it is nearly ubiquitous. Having to install or configure it is often unnecessary because it is usually already installed, configured, and running.

I wanted to use plain text files, but some formatting is nice -- Markdown was the obvious solution for this, since it offers quite a lot of options in terms of text formatting, without sacrificing the readability of the plain text itself. I was not keen on adding dependencies but I found Parsedown which offers Markdown parsing by including a single PHP file. I can deal with that.

That's really all there is to it -- dead simple PHP-based templating, and Markdown-formatted plain text content.

I know I'm probably forgetting about a million edge cases, but I want to keep it simple. So, we'll roll with this for now and add features as they become necessary.

Installation

Download the files and upload them to a webserver somewhere. That's it!

Usage

  1. Duplicate config-default.php as config-custom.php, and change the config variables to your liking.
  2. Create text files with a NUMERIC file name, I use YYYY-MM-DD date-based names (e.g. 2018-10-30.md).
  3. Format text files with Markdown, or not. Whatever. ;)
  4. If you need to link to image/video/audio/etc. files, you can upload them to the media folder.
  5. Upload text files to the content directory.
  6. You're done!!

Changelog

Version 1.1

  • Updated Parsedown to 1.7.4
  • Config has now been moved to config-default.php, added support for config-custom.php
  • Added dark mode! Adjust the APPEARANCE constant to enable
  • Change default file type to .md files instead of .txt. Adjust FILE_EXT constant if needed
  • Reorganize folder structure (CSS and fonts are now in /src)
  • Small text update to /content/drafts/AboutDrafts.md
  • Defined $content in global scope to avoid PHP errors in some configurations
  • Added default favicon at /img/favicon.png
  • Including fonts.css in <head> instead of using @import for better caching behaviour
  • Added file hash query strings to <link> tags in <head> for better caching behaviour
  • index.php now uses <main> for content on list view and <article> on single post view
  • List view now explicitly sorts posts using sortPosts() function - default is sorting by filename, descending

Other Versions

User @shoaiyb has a fork going with additional features that I didn't think were "absolutely necessary" but if you want some extra bells and whistles, I recommend checking out his fork.

Attributions

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].