From 4467a42aee94c85868fc4c706669fcf89707bce3 Mon Sep 17 00:00:00 2001 From: p4bl0 Date: Fri, 23 Jul 2010 02:52:43 +0200 Subject: Adding files to the projects Makefile is still empty but not for long I hope. README starts to be something real. src/archives.html is the templates for the archives page. src/exclude is for .git/info/exclude src/install.sh is the main script which will include other when generating fugitive. src/post-receive.sh is still empty for now. --- Makefile | 1 + README | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/archives.html | 46 +++++++++++++++++++++++++++++++++++ src/exclude | 0 src/install.sh | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/post-receive.sh | 0 6 files changed, 183 insertions(+) create mode 100644 Makefile create mode 100644 README create mode 100644 src/archives.html create mode 100644 src/exclude create mode 100644 src/install.sh create mode 100644 src/post-receive.sh diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f4ebe19 --- /dev/null +++ b/Makefile @@ -0,0 +1 @@ +# should generate the fugitive shell script from hooks files and template diff --git a/README b/README new file mode 100644 index 0000000..5854683 --- /dev/null +++ b/README @@ -0,0 +1,66 @@ +INFO +==== + +fugitive is a blog engine running on top of git using hooks to generate static +html pages and thus having only git as dependency. + + +INSTALL +======= + +Simply run `fugitive --install `. +This will create the git repos with appropriate hooks and files in . +If isn't specified then the current working directory is used. + +NOTE: You need to use the same process to install remote repository. + + +UPDATE +====== + +Simply run `fugitive --install-hooks `. +This will only (re)install fugitive hooks scripts. +If isn't specified then the current working directory is used. + + +CONFIGURATION +============= + +There are three item in the "fugitive" section of the git config: + + - "public-dir" is the path to the directory that will contain the generated + html files. Defautlt value is ".", the root of the git repository. You + could set it to "blog" for instance if you already have a static website + under your git repos. + + - "articles-dir" is the path where fugitive will look for published articles. + Default value is "fugitive/articles". This path is relative to the root of + the git repository, must be in it and must not start with ".". + + - "templates-dir" is the path where fugitive will look for templates files. + Default value is "fugitive/templates". This path is relative to the root of + the git repository, must be in it and must not start with ".". + +NOTE: You must NOT put a trailing '/' at the end of any of those paths. + + +USAGE +===== + +General use +----------- + + +Template system +--------------- + + +IDEA +==== + +* make devrait gzippé puis base64 encodé les fichiers pour les mettres dans le + script d'install, et l'help aussi. + +* index = cp de last article. + +* trouver moyen de mettre des prev et next dans la nav diff --git a/src/archives.html b/src/archives.html new file mode 100644 index 0000000..9d47769 --- /dev/null +++ b/src/archives.html @@ -0,0 +1,46 @@ + + + + + <?fugitive-install name ?>'s blog: <?fugitive article_title ?> + + + + + + +
+ +
+

's blog

+ Weeks of coding can save you hours of planning. +
+
+
+

Archives

+
+
+ +
+
+ +
+ + diff --git a/src/exclude b/src/exclude new file mode 100644 index 0000000..e69de29 diff --git a/src/install.sh b/src/install.sh new file mode 100644 index 0000000..a14c8c8 --- /dev/null +++ b/src/install.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +replace_var_by_string() { + sed "s//$2/" +} + +fugitive_write_template() { + name=`git config --get user.name` + base64 -d | gunzip | replace_var_by_string name "$name" | \ + replace_var_by_string year "`date +%Y`" +} + +fugitive_install() { + DIR="." + if [ "$1" != "" ]; then DIR="$1"; fi + if [ ! -d "$DIR" ]; then mkdir -p "$DIR"; fi + cd "$DIR" + echo -n "Creating new git repository... " + git init >/dev/null + echo "done." + echo -n "Creating default directory tree... " + mkdir -p fugitive/{drafts,articles,templates} + echo "done." + echo -n "Adding default directory paths to git config... " + git config --add --path fugitive.templates-dir "fugitive/templates" + git config --add --path fugitive.articles-dir "fugitive/articles" + git config --add --path fugitive.public-dir "." + echo "done." + echo -n "Writing default template files... " + fugitive_write_template > fugitive/templates/article.html < fugitive/templates/archives.html < fugitice.css < .git/hooks/post-commit < .git/hooks/post-receive </dev/null + git commit -m "fugitive inital import" >/dev/null + echo "done." + echo -n "Preventing git to track generated html files... " + (base64 -d | gunzip) > .git/info/exclude <&2;; + "--install") fugitive_install "$2";; + "--install-hooks") fugitive_install_hooks "$2";; + *) fugitive_usage >&2;; +esac diff --git a/src/post-receive.sh b/src/post-receive.sh new file mode 100644 index 0000000..e69de29 -- cgit v1.2.3