Blog engine built with ruby on rails.
- file uploads
- microposts, blog posts and project pages (that can be used like a simple cms)
- sticky messages
- blog posts, projects and sticky messages are written in markdown with an extended syntax for including media files
- mail reminders for unpublished content
- lets you post to a mastodon instance
- largely built with themability in mind
This app has been tested against ruby 2.3.5.
It requires mysql/mariadb and imagemagick on the server.
The process expects the following environment variables:
Mail settings are configured in
config/environments/production.rb. Refer to the Action Mailer guide for details. Also set the from address in
Various variables can be set in
Once everything is setup, run
User.Create(name: '', email: '', password: '', admin: true, activated: true)
bundle exec whenever --update-crontab
with the needed environment variables set. The console command is required to set an admin user.
Visit root/login to login as the created user.
Settings (or admin user data) * Name * Email * Forum URL: an optional value. Supported by default theme, if set another menu button shows up with a link to the specified url * Theme: name of the default theme * Skin: name of the default skin. If these aren't set the defaults are the first theme and skin in the config arrays * Blog post toot visibility: public, private, unlisted, direct * Avatar * Site Icon: an item to be shown next to the site name * Site Banner: a banner to be displayed between title and menu * "Post to mastodo?": whether posting microposts and publishing blog posts create statuses on mastodon * "Allow comments?": whether people can post comments * "Use blogspam.net checking?": use the blogspam API y/n * About: short bio, shows up in the user profile * Bio draft: long bio, only shows up in the dedicated profile page. uses markdown * Site name: The name that's displayed in the top left * Site slogan: string that's displayed right next to the title * Meta keywords: keywords for the HTML meta tag * Meta desc: description for the HTML meta tag
markdown is also supported by all projects, blog posts and sticky messages. To insert a piece of media put the following syntax between paragraphs:
The ids refer to the ids of various files you can upload. Caption is the text to appear below a media item. The last example is for embedding youtube videos - in which case the id refers to the id part of the video's url. Some examples:
img is the only type to support multiple items. The number of pipes in the id section and the caption section needs to be the same. max-width is optional and defaults to
Source code available here
IceBlog is released under the MIT license.