Тема Fairy
Тема Casper
HTMLy - это платформа для ведения блога без базы данных с открытым исходным кодом или блог с плоским файлом, в котором приоритет отдается простоте и скорости, написанный на PHP. HTMLy также можно назвать CMS с плоским файлом, поскольку она также будет управлять вашим контентом.
Вам не нужно использовать VPS для запуска HTMLy, общий хостинг или даже бесплатный хостинг должны работать до тех пор, пока хост поддерживает хотя бы 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:
- Download the latest version from the Github repo
- Upload and extract the zip file to your web server. You can upload it in the root directory, or in subdirectory such as
htmly
. - Visit your domain. If you extract it in root directory visit
https://www.example.com/install.php
and if in subdirectory visithttps://www.example.com/htmly/install.php
. - Follow the installer to install HTMLy.
- 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:
- Download
online-installer.php
from the latest release - If you upload it in root directory visit
https://www.example.com/online-installer.php
or if in subdirectory visithttps://www.example.com/subdirectory/online-installer.php
. - Follow the installer to install HTMLy.
- Please delete the installer manually if the
online-installer.php
andinstall.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:
$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 matchconfig/users/username.ini
.category
must match thecategory.md
insidecontent/data/category/category.md
except theuncategorized
category.type
is the content type. Available content typepost
,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**
```html
````
**Meta description**
```html
````
**Tags**
This is just the tags display and for the slug is in the filename.
```html
````
**Featured image**
Post with featured image.
```html
````
**Featured youtube video**
Post with featured youtube video.
```html
````
**Featured soundcloud audio**
Post with featured soundcloud audio.
```html
````
**Featured link**
Post with featured link.
```html
````
**Featured quote**
Post with featured quote.
```html
````
**Example**
Example of how your post would look like:
```html
Paragraph 1
Paragraph 2 etc.
Contribute
- Fork and edit
- 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).