-
Notifications
You must be signed in to change notification settings - Fork 0
lightweight pseudo-dynamic (aka. static) blog software
License
ap0calypse/freki
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Freki
In Norse mythology, Geri and Freki (Old Norse, both meaning "the ravenous"
or "greedy one") are two wolves which are said to accompany the god Odin.
About freki
------------
freki is a small but yet pretty powerful tool to create
pseudo-dynamic (aka. static) website content. It aims to
be a replacement for bazinga, which i wrote 4-5 years ago.
freki has the same approach as bazinga, but has less
dependencies since it has less features. I kicked these
lesser used features out and rewrote the whole thing.
In addition, freki now has a simpler interface and is
altogether smaller. A major improvement is the design
of the content files, which are very simple to edit now.
Features
---------
- easy configuration (~/.freki/freki.conf)
- easy to maintain and backup (~/.freki/freki.dat)
- Pseudo-Markdown (my own interpretation of it)
- Yearly/Monthly article overviews
- ... more to come
Prerequisites
--------------
As already mentioned, freki is much smaller than bazinga.
Therefor it has NO PREREQUISITES except Perl.
You don't even need a webserver if you just want it to
act as kind of diary on your local harddrive. If you want
to publish your thoughts, just upload the ~/.freki/html
directory to your webserver and you are fine. Nothing else
is needed.
Configuration
--------------
All needed files should come with this bundle. Customisation
is done by editing either the freki.template (~/.freki/freki.template)
or the css file (~/.freki/html/css/style.css).
If you start freki for the first time, it will create some directories
in your home directory (~/.freki, ~/.freki/html and ~/.freki/html/css).
In the examples/ directory, which should be available if you cloned
this repository, you can find example files of this template and other
files.
This files are needed in the following places for freki to work properly:
style.css -> ~/.freki/html/css/style.css
freki.template -> ~/.freki/freki.template
freki.conf -> ~/.freki/freki.conf
freki.template should not be edited unless you know what you are doing.
Same applies to style.css, but that doesn't mean it can't be done.
Simple adaptions to color/fonts/basic design can be done easily...
... (if you know CSS/HTML) ;)
Usage
------
Like bazinga, freki is completely commandline driven. This was one of my
major goals while writing it. You never have to leave your terminal. In case
you use w3m, lynx or similar commandline browsers, you REALLY never leave it ;).
In the examples/ directory, there are template files for articles and pages.
Basically, every article consists of 2 needed tags (FREKI_CATEGORY and
FREKI_TOPIC) and the text between START_TEXT and END_TEXT. After writing your
article or page, you can add it like this:
$ freki add my_new_article.txt
If everything is ok, you will be notified that the article was added and you
can go on to the next step:
$ freki update
which will update the local html structure in ~/.freki/html. You can put the
contents of this directory directly onto your webserver.
If you made a mistake and want to delete an article, you can do this by
typing:
$ freki delete ID
where ID is the identifier of the article/page. To get a list of all pages and
articles, you type:
$ freki list
If you want to replace a article, because you made a mistake, you can also
replace an article or page like this:
$ freki replace ID corrected_article.txt
which will delete ID and add corrected_article.txt.
In case you forget how everything works, try
$ freki help
Backup and Restore
-------------------
A feature you might miss if you already know bazinga is the lacking
git history. I opted this feature out because I don't see the need
for it. A simple freki backup which could be one daily/weekly/whatever
cronjob, could look like this:
cp ~/.freki/freki.dat /path/to/your/safe_place/freki.dat.$(date -I)
which would save your dat-file appended with a timestamp to your
backup directory.
License
--------
See LICENSE.
About
lightweight pseudo-dynamic (aka. static) blog software
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published