HTMLy is an open source Databaseless Blogging Platform or Flat-File Blog prioritizes simplicity and speed written in PHP

Overview

Logo

HTMLy is an open source Databaseless Blogging Platform or Flat-File Blog prioritizes simplicity and speed written in PHP. HTMLy can be referred to as Flat-File CMS either since it will also manage your content.

You do not need to use a VPS to run HTMLy, shared hosting or even free hosting should work as long as the host supports at least PHP 5.3.

Demo

Visit HTMLy demo as blog.

Features

  • Admin Panel
  • Markdown editor with live preview and image upload
  • Categorization with category and tags (multiple tagging support)
  • Static Pages (e.g. Contact Page, About Page)
  • Meta canonical, description, and rich snippets for SEO
  • Pagination
  • Author Page
  • Multi author support
  • Social Links
  • Disqus Comments (optional)
  • Facebook Comments (optional)
  • Google Analytics
  • Built-in Search
  • Related Posts
  • Per Post Navigation (previous and next post)
  • Body class for easy theming
  • Breadcrumb
  • Archive page (by year, year-month, or year-month-day)
  • JSON API
  • OPML
  • RSS Feed
  • RSS 2.0 Importer (basic)
  • Sitemap.xml
  • Archive and Tag Cloud Widget
  • SEO Friendly URLs
  • Teaser thumbnail for images and Youtube videos
  • Responsive Design
  • User Roles
  • Online Backup
  • File Caching
  • Online Update
  • Post Draft
  • i18n
  • Menu builder

Requirements

HTMLy requires PHP 5.3 or greater, PHP-XML package, and PHP-ZIP package for backup feature.

Installations

Install HTMLy using the source code:

  1. Download the latest version from the Github repo
  2. Upload and extract the zip file to your web server. You can upload it in the root directory, or in subdirectory such as htmly.
  3. Visit your domain. If you extract it in root directory visit https://www.example.com/install.php and if in subdirectory visit https://www.example.com/htmly/install.php.
  4. Follow the installer to install HTMLy.
  5. The installer will try to delete itself. Please delete the installer manually if the install.php still exist.

Online install

Install HTMLy without downloading the source code and use the online installer:

  1. Download online-installer.php from the latest release
  2. If you upload it in root directory visit https://www.example.com/online-installer.php or if in subdirectory visit https://www.example.com/subdirectory/online-installer.php.
  3. Follow the installer to install HTMLy.
  4. Please delete the installer manually if the online-installer.php and install.php still exist.

Configurations

Set written permission for the cache and content directories.

In addition, HTMLy support admin user role. To do so, simply add the following line to your choosen user:

role = admin

Users assigned with the admin role can edit/delete all users' posts.

To access the admin panel, add /login to the end of your site's URL. e.g. www.yoursite.com/login

Lighttpd

The following is an example configuration for lighttpd:

"$0", "^/(.*\.php)" => "$0", # Everything else is handles by htmly "^/(.*)$" => "/index.php/$1" )">
$HTTP["url"] =~ "^/config" {
  url.access-deny = ( "" )
}
$HTTP["url"] =~ "^/system/includes" {
  url.access-deny = ( "" )
}
$HTTP["url"] =~ "^/system/admin/views" {
  url.access-deny = ( "" )
}

url.rewrite-once = (
  "^/(themes|system|vendor)/(.*)" => "$0",
  "^/(.*\.php)" => "$0",

  # Everything else is handles by htmly
  "^/(.*)$" => "/index.php/$1"
)

Nginx

The following is a basic configuration for Nginx:

server {
  listen 80;

  server_name example.com www.example.com;
  root /usr/share/nginx/html;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log error;

  index index.php;

  location ~ /config/ {
     deny all;
  }

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        include        fastcgi_params;
  }
}

Making a secure password

Passwords can be stored in username.ini (where "username" is the user's username) in either plaintext, encryption algorithms supported by php hash or bcrypt (recommended). To generate a bcrypt encrypted password:

$ php -a
> echo password_hash('desiredpassword', PASSWORD_BCRYPT);

This will produce a hash which is to be placed in the password field in username.ini. Ensure that the encryption field is set to password_hash.

Both Online or Offline

The built-in editor found in the admin panel, also provides you the ability to write to Markdown files offline by uploading them (see naming convention below) into the content/username/blog/category/type/:

  • username must match config/users/username.ini.
  • category must match the category.md inside content/data/category/category.md except the uncategorized category.
  • type is the content type. Available content type post, video, audio, link, quote.

For static pages you can upload it to the content/static folder.

Category

The default category is Uncategorized with slug uncategorized and you do not need to creating it inside content/data/category/ folder. But if you write it offline and want to assign new category to specific post you need to creating it first before you can use those category, example content/data/category/new-category.md with the following content:




New category info etc.

The slug for the new category is new-category (htmly removing the file extension). And for full file directory:

content/username/new-category/post/file.md

File Naming Convention

When you write a blog post and save it via the admin panel, HTMLy automatically create a .md file extension with the following name, example:

2014-01-31-12-56-40_tag1,tag2,tag3_databaseless-blogging-platform-flat-file-blog.md

Here's the explanation (separated by an underscore):

  • 2014-01-31-12-56-40 is the published date. The date format is yyyy-mm-dd-hh-mm-ss
  • tag1,tag2,tag3 are the tags, separated by commas
  • databaseless-blogging-platform-flat-file-blog is the URL

For static pages, use the following format:

content/static/about.md

In the example above, the /about.md creates the URL: www.yourblog.com/about

Thus, if you write/create files offline, you must name the .md file in the format above.

For static subpages, use the following format:

content/static/about/me.md

This will create the URL: www.yourblog.com/about/me

Content Tags

If you are writing offline, you need specify the content tags below:

Title

Meta description

Tags

This is just the tags display and for the slug is in the filename.

Featured image

Post with featured image.

Featured youtube video

Post with featured youtube video.

Featured soundcloud audio

Post with featured soundcloud audio.

Featured link

Post with featured link.

Featured quote

Post with featured quote.

Example

Example of how your post would look like:






Paragraph 1

Paragraph 2 etc.

Contribute

  1. Fork and edit
  2. Submit pull request for consideration

Contributors

Copyright / License

For copyright notice please read COPYRIGHT.txt. HTMLy is licensed under the GNU General Public License Version 2.0 (or later).

Comments
  • Function line 894

    Function line 894

    // Create a new instance of the markdown parser $md = new MarkdownParser();

    di log : PHP Fatal error: Class 'MarkdownParser' not found in function masih ada MarkdownParser.

    opened by fahmi182 43
  • No Issue - Just Complementing

    No Issue - Just Complementing

    Just to let you know, that I wrote an app yesterday (php) that imported over 3,100+ game post, converted it to htmly format, and had it posted - took about 5min, and am happy to say your no-db script handles it just fine - If youwant I can post the link - or email me,and I'll send it to you - its just a casual gaming site - but it handles it just fine. So i will proceed with the rest of the sript that will process the rss feed to update daily. :-)

    question 
    opened by klyxmaster 25
  • login not found

    login not found

    No matter how many times I've set this up and tried to get it working, I can't get the login page to come up.

    I have a symlink set up in my /var/www to point to a folder in my home directory

    /home/murdock/blog/ points to /var/www/blog/

    and the permissions all look correct.

    I get the homepage that shows "HTMLy, just another HTMLy blog" and then it says "No Posts Found"

    support 
    opened by murdockit 21
  • Probleme of array (php) with a new post

    Probleme of array (php) with a new post

    After created and published a new post, I've this problem when consulting site : Message seen on the page read : Warning: array_combine(): Both parameters should have an equal number of elements in .../htmly/system/includes/functions.php on line 346 Warning: Invalid argument supplied for foreach() in .../htmly/system/includes/functions.php on line 347 Warning: Cannot modify header information - headers already sent by (output started at .../htmly/system/includes/functions.php:346) in .../htmly/system/includes/dispatch.php on line 351 I cleared the cache but no effect. I've to say I didn't understand the problem. May I have a little help to find how to fix that? Thanks.

    opened by gillesMioni 20
  • Nicer url

    Nicer url

    It seem HTMLy can auto transform the title to URL, but sometime it's not good. Example

    Good: Title: HTMLy is a blog URL (auto): htmly-is-a-blog

    Bad: Title: HTML là một nền tảng blog URL (auto): htmly-la-một-nền-tảng-blog (It doesn't work when you click, so you cannot use this title and have to word around by typing the url yourself)

    Should be: Title: HTML là một nền tảng blog URL (shoult auto be): html-la-mot-nen-tang-blog

    Solution: Google "nicer url php"

    opened by ebookcode 20
  • Not saving new posts

    Not saving new posts

    Hallo,

    i habe a problem with HMLy. When I create a post, it will not be saved. HTMLy is running on my fresh installed vServer, so I think it is possible, that something is wrong on my configuration...

    support 
    opened by Eisenzahn 20
  • Login issue

    Login issue

    Hi,

    after updating to HTMLy 2.5.4 I'm only able to log in once. I have to set the user pw in the ini file and after the successful login the password in the user file is empty and no futher login is possible. This is caused somewhere in the update_user/ password_hash function.

    Regards

    opened by clausdus 19
  • Facebook Comment

    Facebook Comment

    Saya masih belum ngerti dengan penambahan kolom komentar menggunakan facebook. Pada file config.ini dalam direktori config, ada fb.appid. Dimana saya bisa mendapatkannya? Kemudian bagaimana saya bisa mengetahui bila suatu postingan mendapat komentar?apakah ada semacam dashboard untuk mengelola komentar seperti di wordpress dan blogspot, misal menyetujui, membalas atau menghapus komentar. kan ga mungkin banget kalau harus ngecek satu-satu postingan hanya untuk melihat apakah ada komentar baru atau tidak.

    terima kasih

    support 
    opened by masrosid 18
  • Test Sitemap.xml

    Test Sitemap.xml

    ada sett, untuk sitemap.xml.. bisa dicek dulu mas dan :)

    https://github.com/fahmi182/htmly/commit/3c19f2b93866ecf07628cdd26bf0726580f44ef5 https://github.com/fahmi182/htmly/commit/3205fdd58c96b788400490ceb3803cde460085c3

    opened by fahmi182 18
  • sort post by date

    sort post by date

    hello, barusan uji coba posting, tapi masih ada sedikit ganjalan seperti tampilan posting yang tidak berdasarkan tanggal terbaru. Bagaimana cara memperbaikinya ?

    opened by ncang 16
  • Help Request: Moving HTMLY-Blog from offline to online (change location)

    Help Request: Moving HTMLY-Blog from offline to online (change location)

    I first worked offline with HTMLY through EasyPHP (similar software like XAMPP) to manage the page. Now as I'm quite ready to put in online, I changed the parameter site.url in the config.ini to the URL of the new place where i put my website. Now of course i need to clear the cache in order to update all the links which still point to localhost/somefolder/somefolder/... - and there occurs the problem. I cannot log in to the admin-page and i get the following error:

    Fatal error: Call to undefined function password_verify() in /home/u151238773/public_html/system/admin/admin.php on line 54

    Now I don't know what to do...

    Thanks in advance, Greetings

    opened by gesundelehre 15
  • Escaped backslashes removed when editing posts.

    Escaped backslashes removed when editing posts.

    v2.8.2, replicated on multiple platforms.

    Consider the following post: You should see a backslash here --> '\\' This correctly displays: "You should see a backslash here --> '\'" When it is opened for editing, the code changes and one of the backslashes is removed: You should see a backslash here --> '\' If the post is edited again (without the missing backslash being re-inserted), another backslash is removed: You should see a backslash here --> ''

    opened by NiccyB 4
  • A pointer for improvements

    A pointer for improvements

    Dear friends, Like you I have been frustrated by the lack of activity in HTMLy since 5/6 years. Like you I have maintained an HTMLy instance, and modify it to introduce features and keep with the demands of the hard master: Google. I provide here my code, therefore complying with HTMLy's license.

    Coralie (my code) enables a separation of infrastructure, features and views. For example it is possible to change of theme on the fly. The code is much cleaner than in HTMLy (at least that is what static analysis tells).

    Yet Coralie is not a replacement for HTMLy, not competition. I hope it will enable a new trend of innovation here.

    opened by JPLeRouzic 7
  • Social Share Previous Plugin?

    Social Share Previous Plugin?

    How to add additional mata tag for every single page and Post. Need an seo plugin which add meta tags to the pages. When we share links to WhatsApp it'll shows a preview. Can u build it?

    opened by ombhs9905 0
  • CSRF Token not correct

    CSRF Token not correct

    Grrr cleared the cache

    added

    #Session timeout php_value session.cookie_lifetime 1200 php_value session.gc_maxlifetime 1200 #Session timeout php_value session.cookie_lifetime 1200 php_value session.gc_maxlifetime 1200 To .htaccess

    Still having this problem

    opened by AutomationMan808 1
Releases(v2.8.2)
  • v2.8.2(Feb 12, 2022)

  • v2.8.1(Apr 22, 2021)

    • No PHPSESSID cookie set for casual readers (not accesssing the login page/backend). Credit @ProjectPatatoe
    • Using samesite cookie attribute strict for CSRF reasons. Credit @ProjectPatatoe
    • New variable $p->readTime, $p->authorName, $p->authorAbout for better theming
    Source code(tar.gz)
    Source code(zip)
    online-installer.php(269.15 KB)
  • v2.8.0(Apr 1, 2021)

    • The image upload no longer use jQuery.AjaxFileUpload.js but using Bootstrap file upload. Credit @ProjectPatatoe
    • Translation improvements. Credit @fabianosantosnet
    • The $p->video now return the video link only, to get the video ID we can use get_video_id($p->video); and call it from the theme.

    For Upgrade Only

    If you are not using theme shipped with HTMLy source code, please download the updated version. If you already modify the theme and don't want your changes to be lost, simply update the <?php echo $p->video;?> to <?php echo get_video_id($p->video); ?> in main.html.php and post.html.php.

    Source code(tar.gz)
    Source code(zip)
    online-installer.php(268.97 KB)
  • v2.7.9(Mar 12, 2021)

  • v2.7.8(Mar 6, 2021)

    • We shipped install.php in the source code. Easy to install HTMLy anywhere.
    • Post and tags creation improvements (allowing tag like C++, C#, {Cool}, you name it).
    • Improving the editor toolbar.
    • Security improvements.
    • And more.
    Source code(tar.gz)
    Source code(zip)
  • v2.7.7(Feb 22, 2021)

    What's new:

    • Simple menu builder
    • Admin panel revamp
    • Reorganize the config pages
    • Renaming the config time.format to date.format
    • Universal Analytics (gtag.js)
    • And many more.

    For Upgrade Only

    If you can't save the date format, please rename the time.format to date.format in your config.ini. Or create new custom settings with key: date.format and value: %d %b %Y

    To use gtag.js. Create new key: google.gtag.id with value: your.gtag.id

    Source code(tar.gz)
    Source code(zip)
    installer.php(269.89 KB)
  • v2.7.6(Jan 22, 2021)

  • v2.7.5(May 6, 2020)

  • v2.7.4(Jan 24, 2016)

  • v2.7.3(Jan 11, 2016)

  • v2.7.2(Jan 9, 2016)

  • v2.7.1(Jan 4, 2016)

  • v2.7.0(Jan 1, 2016)

    What's new:

    • The ported WP theme (Twenty Fifteen and Twenty Sixteen) include with the package since its a GPL theme
    • You can use <!--more--> tag to cut the teaser when using teaser type full
    • New widget category_list()
    • List post based on content type www.example.com/type/image
    Source code(tar.gz)
    Source code(zip)
    installer.php(269.95 KB)
  • v2.6.9(Dec 24, 2015)

    What's new?

    Like the release title. Now HTMLy support non latin char for any URLs (eg. slug for post, tag, category). Well simple changes/fixes from previous version actually but very important since it can make HTMLy usable in many cases.

    HTMLy try to convert to latin and if it can't than HTMLy will use the URL as is.

    Previous Release

    HTMLy v2.6.8

    What's new:

    • Improving template engine.
    • Cache expiration.
    • Bugs fixes.

    Template improvements

    Sometimes we need custom layout for all of things. New available template files.

    Front page

    layout--front.html.php // only layout for front page
    static--front.html.php // main content if we use static frontpage
    main--front.html.php // main content if we use dynamic frontpage
    

    Blog

    This is for /blog url.

    layout--blog.html.php
    main--blog.html.php
    

    Static page

    Example is for /about page

    layout--static--about.html.php // only layout for `/about` page
    layout--static.html.php // layout for all static page
    static--about.html.php // main content for `/about' page
    

    Sub static page

    Example this is /about/me page

    layout--static--about--me.html.php // only layout for `/about/me` page
    layout--static--about.html.php // parent template
    static--about--me.html.php // main content for `/about/me' page
    static--about.html.php // main content for parent template
    

    Blog post

    The blog post only available styling based on category.

    layout--post--uncategorized.html.php // layout for all blog post with uncategorized category
    layout--post.html.php // layout for all blog post
    post--uncategorized.html.php // main content for individual post with uncategorized category.
    

    Category

    Example is uncategorized category.

    layout--category--uncategorized.html.php
    layout--category.html.php
    main--category--uncategorized.html.php
    main--category.html.php
    

    Tags

    Example is post tagged: github.

    layout--tag--github.html.php
    layout--tag.html.php
    main--tag--github.html.php
    main--tag.html.php
    

    Archive

    layout--archive.html.php
    main--archive.html.php
    

    Search

    layout--search.html.php
    main--search.html.php
    

    Cache expiration

    For new installation this options already available inside config.ini but for existing installation you need to add it manually if you want to override the value. The default value is 6 hours.

    cache.expiration = "6"
    
    Source code(tar.gz)
    Source code(zip)
    installer.php(269.95 KB)
  • v2.6.8(Dec 21, 2015)

    What's new:

    • Improving template engine.
    • Cache expiration.
    • Bugs fixes.

    Template improvements

    Sometimes we need custom layout for all of things. New available template files.

    Front page

    layout--front.html.php // only layout for front page
    static--front.html.php // main content if we use static frontpage
    main--front.html.php // main content if we use dynamic frontpage
    

    Blog

    This is for /blog url.

    layout--blog.html.php
    main--blog.html.php
    

    Static page

    Example is for /about page

    layout--static--about.html.php // only layout for `/about` page
    layout--static.html.php // layout for all static page
    static--about.html.php // main content for `/about' page
    

    Sub static page

    Example this is /about/me page

    layout--static--about--me.html.php // only layout for `/about/me` page
    layout--static--about.html.php // parent template
    static--about--me.html.php // main content for `/about/me' page
    static--about.html.php // main content for parent template
    

    Blog post

    The blog post only available styling based on category.

    layout--post--uncategorized.html.php // layout for all blog post with uncategorized category
    layout--post.html.php // layout for all blog post
    post--uncategorized.html.php // main content for individual post with uncategorized category.
    

    Category

    Example is uncategorized category.

    layout--category--uncategorized.html.php
    layout--category.html.php
    main--category--uncategorized.html.php
    main--category.html.php
    

    Tags

    Example is post tagged: github.

    layout--tag--github.html.php
    layout--tag.html.php
    main--tag--github.html.php
    main--tag.html.php
    

    Archive

    layout--archive.html.php
    main--archive.html.php
    

    Search

    layout--search.html.php
    main--search.html.php
    

    Cache expiration

    For new installation this options already available inside config.ini but for existing installation you need to add it manually if you want to override the value. The default value is 6 hours.

    cache.expiration = "6"
    
    Source code(tar.gz)
    Source code(zip)
    installer.php(269.95 KB)
  • v2.6.7(Dec 1, 2015)

  • v2.6.6(Nov 23, 2015)

  • v2.6.5(Nov 14, 2015)

  • v2.6.4(Sep 21, 2015)

  • v2.6.3(Aug 29, 2015)

    HTMLy v2.6.3

    This quick release is to fix issue #198 (can't add the featured link after the folder structure changed) and reCAPTCHA login problems.

    HTMLy v2.6.2

    What's new:

    1. Finally now htmly can creating category
    2. 404 pages and 404 searches rendered within layout by @greenphp
    3. The folder structure changed
    4. To call related post widget you need to use get_related($p->related) instead of get_related($p->tag)
    5. Set category.perpage = "YourValue" to specify the category list and set category.info = "true" to show up the category information in your category index page.

    Important

    If this is an upgrade then you need to clear cache after the update process finished using the admin toolbar link to migrate your old content to new folder structure.

    Old structure:

    content/username/blog/file.md
    

    New structure:

    content/username/blog/category/type/file.md
    
    Source code(tar.gz)
    Source code(zip)
    installer.php(269.94 KB)
  • v2.6.2(Aug 27, 2015)

    What's new:

    1. Finally now htmly can creating category
    2. 404 pages and 404 searches rendered within layout by @greenphp
    3. The folder structure changed
    4. To call related post widget you need to use get_related($p->related) instead of get_related($p->tag)
    5. Set category.perpage = "YourValue" to specify the category list and set category.info = "true" to show up the category information in your category index page.

    Important

    If this is an upgrade then you need to clear cache after the update process finished using the admin toolbar link to migrate your old content to new folder structure.

    Old structure:

    content/username/blog/file.md
    

    New structure:

    content/username/blog/category/type/file.md
    
    Source code(tar.gz)
    Source code(zip)
    installer.php(269.94 KB)
  • v2.6.1(Aug 20, 2015)

  • v2.6.0(Aug 17, 2015)

    For performance reason than the recent post, popular post, archive list, or tag cloud widget are cached even for login user (not the resulting output but the array). Tested in a test blog with 6K posts with hundreds of tags and the load for login user decrease dramatically. The page generation time from 1 - 2 seconds decreased to 0.05 - 0.3 seconds (depending on hardware).

    Cache will deleted when we edited any content, added new content, or change any config related to those widget. For popular posts widget, by visiting admin/popular is enough to delete the cache.

    To display the page generation time add the following option to admin/config:

    generation.time = "true"
    

    To display the cache generation timestamp simply add:

    cache.timestamp = "true"
    

    Both options will print out, example:

    <!-- Dynamic page generated in 0.076 seconds. -->
    <!-- Cached page generated on 2015-08-17 22:31:56 -->
    
    Source code(tar.gz)
    Source code(zip)
    installer.php(269.94 KB)
  • v2.5.9(Aug 14, 2015)

    What's new:

    • You can change the default URL from /year/month/title to /post/title by adding: permalink.type = "post" into your config.
    • Fix description for non Latin char
    • New logo and favicon for HTMLy (branding)

    Note: When changing the permalink type, the old URL will redirected to new URL with redirect header 301.

    Source code(tar.gz)
    Source code(zip)
    installer.php(269.94 KB)
  • v2.5.8(Aug 7, 2015)

  • v2.5.7(Aug 1, 2015)

    This release includes a few additions, especially if you want to make the front-page as the landing page and require example.com/blog as your blog home-page. To enable this URL, simply add below line in your config.ini

    blog.enable = "true"
    

    After enabling this option than the breadcrumb for any blog posts will become as follows

    Home » Blog » Tags » Title
    

    The Blog will linked to example.com/blog.

    You can see the demo at HTMLy homepage: https://www.htmly.com

    Source code(tar.gz)
    Source code(zip)
    installer.php(274.41 KB)
  • v2.5.6(Jul 30, 2015)

  • v2.5.5(Jul 26, 2015)

  • v2.5.4(Jul 14, 2015)

  • v2.5.3(Jul 10, 2015)

    What's new:

    • The markdown editor can upload images
    • Update the jQuery to 2.1.4
    • A few improvements

    Note: There was a bugs to the updater after installing the 2.5.2, the update links has double admin/, example:

    https://www.example.com/admin/admin/update/now/4dec0fa3e77a3b7490d85cea9560c40dfd4d0764
    

    So just right click, copy the link and remove the double admin/ becomes:

    https://www.example.com/admin/update/now/4dec0fa3e77a3b7490d85cea9560c40dfd4d0764
    

    Visit those link to update it automatically.

    Source code(tar.gz)
    Source code(zip)
    installer.php(274.24 KB)
:star2: PJ Blog is an open source blog built with Laravel and Vue.js.

?? PJ Blog is an open source blog built with Laravel and Vue.js. https://pigjian.com Special thanks to the generous sponsorship by: PJ Blog This is a

Jiajian Chan 2.8k Dec 28, 2022
A PHP Blogging Platform. Simple and Powerful.

Typecho Blogging Platform Typecho is a PHP Blogging Platform. Simple and Powerful.

Typecho Dev Team 9.6k Jan 1, 2023
Luminosity - A modern style blogging platform

Luminosity The Complete Modern Blogging Platform This branch is currently hosted. Refer to Local Branch to setup locally Features Features: Read Artic

cmd3BOT 20 Nov 19, 2022
True Multisite, Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony

True Multisite, Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony

null 4 Oct 28, 2022
Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS

Grav Grav is a Fast, Simple, and Flexible, file-based Web-platform. There is Zero installation required. Just extract the ZIP archive, and you are alr

Grav 13.6k Jan 4, 2023
Pico is a stupidly simple, blazing fast, flat file CMS.

Pico Pico is a stupidly simple, blazing fast, flat file CMS. Visit us at http://picocms.org/ and see http://picocms.org/about/ for more info. Screensh

null 3.6k Jan 5, 2023
Pico is a stupidly simple, blazing fast, flat file CMS.

Pico is a stupidly simple, blazing fast, flat file CMS.

null 3.6k Jan 5, 2023
Mecha is a flat-file content management system for minimalists.

Mecha CMS Mecha is a flat-file content management system for minimalists. Front-End The default layout uses only Serif and Mono fonts. Different opera

Mecha 133 Jan 1, 2023
Pico is a stupidly simple, blazing fast, flat file CMS.

Pico is a stupidly simple, blazing fast, flat file CMS.

null 15 Jul 30, 2022
Feindura - Flat File Content Management System

feindura - Flat File Content Management System Copyright (C) Fabian Vogelsteller [frozeman.de] published under the GNU General Public License version

Fabian Vogelsteller 39 Dec 30, 2022
Herbie is a simple Flat-File CMS- und Blogsystem based on human readable text files

Herbie is a simple Flat-File CMS- und Blogsystem based on human readable text files

HERBIE 63 Nov 13, 2022
Scriptlog is a free and an open source PHP blog software.

Scriptlog is a free and an open source PHP blog software. We're refactoring our legacy weblog code. Making it more simple, secure, modular, fast and robust personal blogging system. Scriptlog runs on PHP 5.6 or higher and uses MySQL.

M.Noermoehammad 7 Sep 12, 2022
0ez. Laravel Lightweight Blogging CMS

0ez. Laravel Lightweight Blogging CMS Wordpress is old and slow? Too much functions for easy stuff? Try 0ez. It's soo ez! Installation Currently, 0ez

Dinar Garipov 32 Jun 2, 2021
Question2Answer is a free and open source platform for Q&A sites, running on PHP/MySQL.

Question2Answer (Q2A) is a popular free open source Q&A platform for PHP/MySQL, used by over 22,000 sites in 40 languages.

Question2Answer 1.6k Jan 5, 2023
Bolt CMS is an open source, adaptable platform for building and running modern websites.

Bolt CMS is an open source, adaptable platform for building and running modern websites. Built on PHP, Symfony and more. Read the site for more info.

Bolt 437 Jan 4, 2023
ExpressionEngine is a flexible, feature-rich, free open-source content management platform that empowers hundreds of thousands of individuals and organizations around the world to easily manage their web site.

ExpressionEngine CMS ExpressionEngine is a mature, flexible, secure, free open-source content management system. It is beloved by designers for giving

ExpressionEngine 412 Dec 27, 2022
🚀Bolt CMS is an open source, adaptable platform for building and running modern websites

??Bolt CMS is an open source, adaptable platform for building and running modern websites

Bolt 32 Dec 3, 2022
Free, open-source, self-hosted CMS platform based on the Laravel PHP Framework.

Winter is a Content Management System (CMS) and web platform whose sole purpose is to make your development workflow simple again. It was born out of

Winter CMS 1.1k Jan 3, 2023
Sulu is an open-source content management platform based on the Symfony PHP framework

This repository is no longer the recommended way to start a sulu project. Please have a look at the documentation to find out how to start a new proje

Sulu CMS 623 Nov 12, 2022