Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
lightweight pseudo-dynamic (aka. static) blog software
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
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 commanline 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'date') which would save your dat-file appended with a timestamp to your backup directory. License -------- See LICENSE.