This repository has been archived by the owner. It is now read-only.
Cut your Textile into a nice website. --- Archived, see https://gitlab.com/cadadr/makas
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
lib
test
.gitignore
.gitlab-ci.yml
COPYING
Gemfile
Gemfile.lock
Rakefile
Readme.org
Readme.org_archive
TAGS
makas.gemspec

Readme.org

Makas

BEWARE ALPHA SOFTWARE!

I use this library for my own website w/o problems, but it has not been tested with different setups yet, and is not complete. Use at your own risk. That said, the source code is rather brief, so you can review easily and decide for yourself.

Synopsis

Makas generates websites from a tree of Textile files. It does not try to deduce any meaning from the structure of that tree (i.e. where files are in the directory hierarchy), but can generate a blog from a directory of files named a certain way, if enabled. See this example for how that can be done. Multiple blogs, RSS feed generation and copying over static files are supported.

Dependencies

The Makas library depends on the Ruby standard runtime and the RedCloth library. See Gemfile.lock for exact versions.

Usage

Documentation is TBD as this was just extracted from my own personal blog. But in the meantime the example files can be used to make a working website.

Contributing

Please open an issue or mail me a patch. Document your changes accurately and completely, and write nicely formatted, readable, elegant, and carefully produced code.

License

Copyright (C) 2017-2018 Göktuğ Kayaalp <self@gkayaalp.com>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Issues

ScissorsTest#test_drop_up_to_date fails on Gitlab CI

Job #121015785 failed for 18588736:

ScissorsTest#test_drop_up_to_date [/builds/cadadr/scissors/test/test_scissors.rb:96]:
--- expected
+++ actual
@@ -1 +1 @@
-{}
+{"doc/example-pages/example-page.textile"=>#<Pathname:/tmp/d20181115-110-1p16mmq/example-pages/example-page.textile>}

This test passes on my local computer, but fails on Gitlab CI. Possibly has something to do with the sleep in that test method.

See: https://gitlab.com/cadadr/makas/issues/1

When copying static files, exception if target does not exist and >= 2 levels

Seemingly this

       Dir.mkdir target_dir if !target_dir.exist?

has to be modified.

/home/g/co/makas/lib/makas.rb:301:in `mkdir': No such file or directory @ dir_s_mkdir - output/.well-known/acme-challenge (Errno::ENOENT)
	from /home/g/co/makas/lib/makas.rb:301:in `block in copy_static_files'
	from /home/g/co/makas/lib/makas.rb:299:in `each'
	from /home/g/co/makas/lib/makas.rb:299:in `map'
	from /home/g/co/makas/lib/makas.rb:299:in `copy_static_files'
	from /home/g/co/makas/lib/makas.rb:420:in `build_site'
	from /home/g/co/makas/lib/makas.rb:433:in `build_site'
	from ./scripts/build.rb:27:in `<main>'

Support Scss and Sass

Automatically convert, if enabled, S*ss files to CSS files during build.

blog/index.rss.xml mode shoud be 644, but is 640

somehow the umask does not apply to it.

Allow arbitrarily-deep breadcrumbs.

See lib/makas.rb

Generate a sitemap

generate-pages should be able to initiate that, given it has a list of pages already.