summaryrefslogtreecommitdiff
path: root/README
blob: 8a3a5f06b5bdce15d331faba11f41856c15546e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
fugitive README file

<h2 id="info">Info</h2>
<p>
  fugitive is a blog engine running on top of git using hooks to generate
  static html pages and thus having only git as dependency.
</p>

<h2 id="install">Install</h2>

<h3>Build</h3>
<p>
  If you want to build fugitive from the source, clone the git repository:
  <br />
  <code>git clone git://gitorious.org/fugitive/fugitive.git fugitive</code>
  <br />
  Then go in the newly created directory: <code>cd fugitive</code>, and
  run the build script: <code>./build.sh</code>.
  <br />
  This will generate an executable file &quot;fugitive&quot;.
</p>
<h3>Create a blog</h3>
<p>
  If you have the &quot;fugitive&quot; executable file and want to start a new
  blog: Run <code>fugitive --install &lt;dir&gt;</code>.
  <br />
  This will create the git repos with appropriate hooks and files in
  &lt;dir&gt;.
  <br />
  If &lt;dir&gt; isn't specified then the current working directory is used.
</p>
<p class="important">
  Once you have installed your blog you need to set the <em>blog-url</em>
  parameter in your git configuration. See <a href="#config">configuration</a>
  for details.
</p>
<p class="note">
  You need to use the same process to install any remote
  repository where you'd like to push your blog.
</p>
<h3>Update</h3>
<p>
  Run <code>fugitive --install-hooks &lt;dir&gt;</code>.<br />
  This will only (re)install fugitive hooks scripts.<br />
  If &lt;dir&gt; isn't specified then the current working directory is used.
</p>

<h2 id="config">Configuration</h2>

<p>
  All this settings are in the &quot;fugitive&quot; section of the git config.
  You can change them with the command <code>git config
  fugitive.<em>parameter</em> <em>value</em></code>, where <em>parameter</em>
  is one of the following:
</p>
<dl>
  <dt>blog-url</dt>
  <dd>
    This is the public url of the generated blog. <strong>You need to set
    it</strong> as soon as possible since it's required for the RSS feed (and
    used in the default template's footer).
  </dd>
  <dt>public-dir</dt>
  <dd>
    This is the path to the directory that will contain the generated html
    files. Defautlt value is &quot;.&quot;, the root of the git repository. You
    could set it to &quot;blog&quot; for instance if you already have a static
    website under your git repos.
  </dd>
  <dt>articles-dir</dt>
  <dd>
    This is the path where fugitive will look for published articles. Default
    value is &quot;_articles&quot;. This path is relative to the root of the
    git repository, must be in it and must not start with &quot;.&quot;.
  </dd>
  <dt>templates-dire</dt>
  <dd>
    This is the path where fugitive will look for templates files. Default
    value is &quot;_templates&quot;. This path is relative to the root of the
    git repository, must be in it and must not start with &quot;.&quot;.
  </dd>
  <dt>preproc</dt>
  <dd>
    If you want your article to be preprocessed by an external tool (markdown,
    textile...) you need to set <em>preproc</em> to a command line that will
    read on stdin and write to stdout.
  </dd>
</dl>
<p class="note">
  You must NOT put a trailing '/' at the end of any of the path.
</p>

<h2 id="usage">Usage</h2>

<h3>General use</h3>
<p>
  Article you want to publish should be file without the .html extension in the
  <em>articles-dir</em> directory (see CONFIGURATION).
</p>
<p>
  The first line of the file will be used as title and the rest of the file as
  the content.
</p>
<p class="warning">
  DO NOT CREATE AN ARTICLE FILE NAMED &quot;archives&quot;.<br />
  DO NOT CREATE AN ARTICLE FILE NAMED &quot;index&quot;.
</p>
<h3>Template system</h3>
<p><em>*TODO*</em></p>