mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 16:48:31 +02:00
Working docs
This commit is contained in:
parent
47a3a75083
commit
e9a39db3eb
16 changed files with 5852 additions and 0 deletions
107
README.md
Normal file
107
README.md
Normal file
|
@ -0,0 +1,107 @@
|
|||
# jrnl
|
||||
|
||||
*jrnl* is a simple journal application for your command line. Journals are stored as human readable plain text files - you can put them into a Dropbox folder for instant syncinc and you can be assured that your journal will still be readable in 2050, when all your fancy iPad journal applications will long be forgotten.
|
||||
|
||||
## Why keep a journal?
|
||||
|
||||
Journals aren't only for 13-year old girls and people who have too much time on their summer vacation. A journal helps you to keep track of the things you get done and how you did them. Your imagination may be limitless, but your memory isn't. For personal use, make it a good habit to write at least 20 words a day. Just to reflect what made this day special, why you haven't wasted it. For professional use, consider a text-based journal to be the perfect complement to your GTD todo list - a documentation of what and how you've done it.
|
||||
|
||||
## How to use?
|
||||
|
||||
to make a new entry, just type
|
||||
|
||||
jrnl yesterday: Called in sick. Used the time to clean the house and spent 4h on writing my book.
|
||||
|
||||
and hit return. `yesterday:` will be interpreted as a timestamp. Everything until the first sentence mark (`.?!`) will be interpreted as the title, the rest as the body. In your journal file, the result will look like this:
|
||||
|
||||
2012-03-29 09:0 Called in sick.
|
||||
Used the time to clean the house and spent 4h on writing my book.
|
||||
|
||||
If you just call `jrnl`, you will be prompted to compose your entry - but you can also configure _jrnl_ to use your external editor.
|
||||
|
||||
### Smart timestamps:
|
||||
|
||||
If we start our entry by e.g. `yesterday:` or `last week monday at 9am:` the entry's date will automatically be adjusted.
|
||||
|
||||
### Viewing:
|
||||
|
||||
jrnl -10
|
||||
|
||||
will list you the ten latest entries,
|
||||
|
||||
jrnl -from "last year" -to march
|
||||
|
||||
everything that happened from the start of last year to the start of last march.
|
||||
|
||||
|
||||
> __Note:__ _jrnl_ has to modes: __composing__ and __viewing__. The mode depends on which arguments (starting with `-`) you specify. If no arguments are given, _jrnl_ will guess the mode: if all the input looks like tags, it will switch to viewing mode and filter by the specified tags., such as in
|
||||
>
|
||||
> jrnl @WorldDomination
|
||||
>
|
||||
> If there is some non-argument input, _jrnl_ will treat it as a new entry, such as in
|
||||
>
|
||||
> jrnl july 4th: Aliens blew up the white house.
|
||||
>
|
||||
> If there is no input, you can still go to viewing mode by just hitting `return` when prompted to compose an entry.
|
||||
|
||||
|
||||
### Tagging:
|
||||
|
||||
Keep track of people, projects or locations, by tagging them with an `@`:
|
||||
|
||||
Wonderful day on the #beach with @Tom and @Anna.
|
||||
|
||||
You can filter your journal entries just like this:
|
||||
|
||||
jrnl @pinkie @WorldDomination
|
||||
|
||||
Will print all entries in which either `@pinkie` or `@WorldDomination` occured;
|
||||
|
||||
jrnl -n 5 -and @pineapple @lubricant
|
||||
|
||||
the last five entries containing both `@pineapple` _and_ `@lubricant`. You can change which symbols you'd like to use for tagging in the configuration.
|
||||
|
||||
### JSON Export
|
||||
|
||||
Can do:
|
||||
|
||||
jrnl -json
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
...
|
||||
|
||||
## Advanced configuration
|
||||
|
||||
The first time launched, _jrnl_ will create a file called `.jrnl_config` in your home directory. It's just a regular `json` file:
|
||||
|
||||
{
|
||||
journal: "~/journal.txt",
|
||||
editor: "",
|
||||
encrypt: false,
|
||||
key: ""
|
||||
tagsymbols: '@'
|
||||
default_hour: 9,
|
||||
default_minute: 0,
|
||||
timeformat: "%Y-%m-%d %H:%M",
|
||||
}
|
||||
|
||||
- `journal`: path to your journal file
|
||||
- `editor`: if set, executes this command to launch an external editor for writing your entries, e.g. `vim` or `subl -w` (note the `-w` flag to make sure _jrnl_ waits for Sublime Text to close the file before writing into the journal).
|
||||
- `encrypt`: if true, encrypts your journal using AES encryption.
|
||||
- `key`: you may store the key you used to encrypt your journal in plaintext here. This is useful if your journal file lives in an unsecure space (ie. your Dropbox), but the config file itself is more or less safe.
|
||||
- `tagsymbols`: Symbols to be interpreted as tags. (__See note below__)
|
||||
- `default_hour` and `default_minute`: if you supply a date, such as `last thursday`, but no specific time, the entry will be created at this time
|
||||
- `timeformat`: how to format the timestamps in your journal, see the [python docs](http://docs.python.org/library/time.html#time.strftime) for reference
|
||||
|
||||
|
||||
> __Note on `tagsymbols`:__ Although it seems intuitive to use the `#` character for tags, there's a drawback: on most shells, this is interpreted as a meta-character starting a comment. This means that if you type
|
||||
>
|
||||
> jrnl Implemented endless scrolling on the #frontend of our website.
|
||||
>
|
||||
> your bash will chop off everything after the `#` before passing it to _jrnl_). To avoid this, wrap your input into quotation marks like this:
|
||||
>
|
||||
> jrnl "Implemented endless scrolling on the #frontend of our website."
|
||||
>
|
||||
> Or use the built-in prompt or an external editor to compose your entries.
|
4
bake.sh
Executable file
4
bake.sh
Executable file
|
@ -0,0 +1,4 @@
|
|||
#! /bin/bash
|
||||
markdown2 README.md > tmp
|
||||
cat templates/header.html tmp templates/footer.html > index.html
|
||||
rm tmp
|
3088
css/bootstrap.css
vendored
Normal file
3088
css/bootstrap.css
vendored
Normal file
File diff suppressed because it is too large
Load diff
479
css/bootstrap.min.css
vendored
Normal file
479
css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
126
css/jrnl.css
Normal file
126
css/jrnl.css
Normal file
|
@ -0,0 +1,126 @@
|
|||
body {
|
||||
background: #e6ebed; /* Old browsers */
|
||||
background-image: -ms-radial-gradient(center top, circle closest-corner, #FFFFFF 30%, #E6EBED 100%);
|
||||
background-image: -moz-radial-gradient(center top, circle closest-corner, #FFFFFF 30%, #E6EBED 100%);
|
||||
background-image: -o-radial-gradient(center top, circle closest-corner, #FFFFFF 30%, #E6EBED 100%);
|
||||
background-image: -webkit-gradient(radial, center top, 0, center top, 488, color-stop(.3, #FFFFFF), color-stop(1, #E6EBED));
|
||||
background-image: -webkit-radial-gradient(center top, circle closest-corner, #FFFFFF 30%, #E6EBED 100%);
|
||||
background-image: radial-gradient(center top, circle closest-corner, #FFFFFF 30%, #E6EBED 100%);
|
||||
}
|
||||
|
||||
.leftlogo {
|
||||
width: 128px;
|
||||
height: 168px;
|
||||
margin: 0px auto;
|
||||
position: fixed;
|
||||
top: -168px;
|
||||
background: url(../img/logo-left.png) center top no-repeat transparent;
|
||||
}
|
||||
::-moz-selection{background:#057FDE;color:white;text-shadow: 0px -1px #034679;}
|
||||
::selection{background:#057FDE;color:white;text-shadow: 0px -1px #034679;}
|
||||
|
||||
a::-moz-selection{background:#057FDE;color:white;text-shadow: 0px -1px #034679;}
|
||||
a::selection{background:#057FDE;color:white;text-shadow: 0px -1px #034679;}
|
||||
|
||||
|
||||
.block {
|
||||
background: white;
|
||||
border: 1px solid #4d4d4d;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-o-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
box-shadow: 0px 2px 0px -1px #4d4d4d;
|
||||
padding: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.block p, .block li {
|
||||
color:#444;
|
||||
font-family:Georgia, Palatino, 'Palatino Linotype', Times, 'Times New Roman', serif;
|
||||
font-size: 12pt;
|
||||
line-height: 18pt;
|
||||
margin: 10px 0px;
|
||||
}
|
||||
|
||||
span.backtick {
|
||||
font-family: Menlo,Monaco,"Courier New",monospace;
|
||||
border: 1px solid rgba(0, 0, 0, 0.148438);
|
||||
background-color: whiteSmoke;
|
||||
font-size: 12px;
|
||||
padding: 2px 5px;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
margin: 0px 0px 20px 0px;
|
||||
}
|
||||
h3 {
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.148438);
|
||||
margin-top: 20px;
|
||||
}
|
||||
blockquote {
|
||||
margin: 20px 60px 20px 0px;
|
||||
}
|
||||
blockquote pre {
|
||||
margin: 10px 0px;
|
||||
}
|
||||
blockquote pre, blockquote .backtick {
|
||||
color: #666;
|
||||
background: #fafafa;
|
||||
}
|
||||
blockquote p{
|
||||
color: #888;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
.logo .span10 {
|
||||
background: url(../img/logo-top.png) center top no-repeat transparent;
|
||||
height: 180px;
|
||||
}
|
||||
|
||||
.logo .span2 {
|
||||
|
||||
}
|
||||
|
||||
.navcontain {
|
||||
}
|
||||
|
||||
.sidebar-nav {
|
||||
background: #4d4d4d;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-o-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
box-shadow: 0px 0px 3px 1px rgba(0,0,0,.3);
|
||||
}
|
||||
|
||||
.nav li, .nav li a {
|
||||
color: white;
|
||||
text-shadow: 0px -1px #1a1a1a;
|
||||
}
|
||||
|
||||
.nav .nav-header {
|
||||
color: white;
|
||||
text-shadow: 0px -1px #1a1a1a;
|
||||
}
|
||||
|
||||
.nav .active a {
|
||||
text-shadow: 0px -1px #034679;
|
||||
background: #057FDE;
|
||||
background-image: -ms-linear-gradient(bottom, #057FDE 30%, #4BAEFB 100%);
|
||||
background-image: -moz-linear-gradient(bottom, #057FDE 30%, #4BAEFB 100%);
|
||||
background-image: -o-linear-gradient(bottom, #057FDE 30%, #4BAEFB 100%);
|
||||
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(.3, #057FDE), color-stop(1, #4BAEFB));
|
||||
background-image: -webkit-linear-gradient(bottom, #057FDE 30%, #4BAEFB 100%);
|
||||
background-image: linear-gradient(bottom, #057FDE 30%, #4BAEFB 100%);
|
||||
box-shadow: 0px 3px 3px 0px rgba(0,0,0,.1);
|
||||
}
|
||||
|
||||
.nav li:hover a, .nav a:hover {
|
||||
background: #3c3c3c;
|
||||
box-shadow: inset 0px 3px 3px 0px rgba(0,0,0,.1);
|
||||
}
|
BIN
img/favicon.png
Normal file
BIN
img/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 661 B |
BIN
img/glyphicons-halflings-white.png
Normal file
BIN
img/glyphicons-halflings-white.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
BIN
img/glyphicons-halflings.png
Normal file
BIN
img/glyphicons-halflings.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
BIN
img/logo-left.png
Normal file
BIN
img/logo-left.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
BIN
img/logo-top.png
Normal file
BIN
img/logo-top.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
186
index.html
Normal file
186
index.html
Normal file
|
@ -0,0 +1,186 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>jrnl</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="Manuel Ebert">
|
||||
|
||||
<!-- Le styles -->
|
||||
<link href="css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="css/jrnl.css" rel="stylesheet">
|
||||
<style>
|
||||
body {
|
||||
padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<link rel="shortcut icon" href="img/favicon.png">
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body data-spy="scroll">
|
||||
|
||||
|
||||
<div class="container">
|
||||
<div class="logo row">
|
||||
<div class="span2"> </div>
|
||||
<div class="span10"> </div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="span2 navcontain">
|
||||
<div class="leftlogo"></div>
|
||||
<div class="sidebar-nav" id='navbar'>
|
||||
<ul class="nav nav-list">
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="span10 content">
|
||||
<h1>jrnl</h1>
|
||||
|
||||
<p><em>jrnl</em> is a simple journal application for your command line. Journals are stored as human readable plain text files - you can put them into a Dropbox folder for instant syncinc and you can be assured that your journal will still be readable in 2050, when all your fancy iPad journal applications will long be forgotten.</p>
|
||||
|
||||
<h2>Why keep a journal?</h2>
|
||||
|
||||
<p>Journals aren't only for 13-year old girls and people who have too much time on their summer vacation. A journal helps you to keep track of the things you get done and how you did them. Your imagination may be limitless, but your memory isn't. For personal use, make it a good habit to write at least 20 words a day. Just to reflect what made this day special, why you haven't wasted it. For professional use, consider a text-based journal to be the perfect complement to your GTD todo list - a documentation of what and how you've done it.</p>
|
||||
|
||||
<h2>How to use?</h2>
|
||||
|
||||
<p>to make a new entry, just type</p>
|
||||
|
||||
<pre><code>jrnl yesterday: Called in sick. Used the time to clean the house and spent 4h on writing my book.
|
||||
</code></pre>
|
||||
|
||||
<p>and hit return. <code>yesterday:</code> will be interpreted as a timestamp. Everything until the first sentence mark (<code>.?!</code>) will be interpreted as the title, the rest as the body. In your journal file, the result will look like this:</p>
|
||||
|
||||
<pre><code>2012-03-29 09:0 Called in sick.
|
||||
Used the time to clean the house and spent 4h on writing my book.
|
||||
</code></pre>
|
||||
|
||||
<p>If you just call <code>jrnl</code>, you will be prompted to compose your entry - but you can also configure <em>jrnl</em> to use your external editor.</p>
|
||||
|
||||
<h3>Smart timestamps:</h3>
|
||||
|
||||
<p>If we start our entry by e.g. <code>yesterday:</code> or <code>last week monday at 9am:</code> the entry's date will automatically be adjusted. </p>
|
||||
|
||||
<h3>Viewing:</h3>
|
||||
|
||||
<pre><code>jrnl -10
|
||||
</code></pre>
|
||||
|
||||
<p>will list you the ten latest entries,</p>
|
||||
|
||||
<pre><code>jrnl -from "last year" -to march
|
||||
</code></pre>
|
||||
|
||||
<p>everything that happened from the start of last year to the start of last march. </p>
|
||||
|
||||
<blockquote>
|
||||
<p><strong>Note:</strong> <em>jrnl</em> has to modes: <strong>composing</strong> and <strong>viewing</strong>. The mode depends on which arguments (starting with <code>-</code>) you specify. If no arguments are given, <em>jrnl</em> will guess the mode: if all the input looks like tags, it will switch to viewing mode and filter by the specified tags., such as in</p>
|
||||
|
||||
<pre><code>jrnl @WorldDomination
|
||||
</code></pre>
|
||||
|
||||
<p>If there is some non-argument input, <em>jrnl</em> will treat it as a new entry, such as in</p>
|
||||
|
||||
<pre><code>jrnl july 4th: Aliens blew up the white house.
|
||||
</code></pre>
|
||||
|
||||
<p>If there is no input, you can still go to viewing mode by just hitting <code>return</code> when prompted to compose an entry.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3>Tagging:</h3>
|
||||
|
||||
<p>Keep track of people, projects or locations, by tagging them with an <code>@</code>:</p>
|
||||
|
||||
<pre><code>Wonderful day on the #beach with @Tom and @Anna.
|
||||
</code></pre>
|
||||
|
||||
<p>You can filter your journal entries just like this:</p>
|
||||
|
||||
<pre><code>jrnl @pinkie @WorldDomination
|
||||
</code></pre>
|
||||
|
||||
<p>Will print all entries in which either <code>@pinkie</code> or <code>@WorldDomination</code> occured;</p>
|
||||
|
||||
<pre><code>jrnl -n 5 -and @pineapple @lubricant
|
||||
</code></pre>
|
||||
|
||||
<p>the last five entries containing both <code>@pineapple</code> <em>and</em> <code>@lubricant</code>. You can change which symbols you'd like to use for tagging in the configuration.</p>
|
||||
|
||||
<h3>JSON Export</h3>
|
||||
|
||||
<p>Can do:</p>
|
||||
|
||||
<pre><code>jrnl -json
|
||||
</code></pre>
|
||||
|
||||
<h2>Installation</h2>
|
||||
|
||||
<p>...</p>
|
||||
|
||||
<h2>Advanced configuration</h2>
|
||||
|
||||
<p>The first time launched, <em>jrnl</em> will create a file called <code>.jrnl_config</code> in your home directory. It's just a regular <code>json</code> file:</p>
|
||||
|
||||
<pre><code>{
|
||||
journal: "~/journal.txt",
|
||||
editor: "",
|
||||
encrypt: false,
|
||||
key: ""
|
||||
tagsymbols: '@'
|
||||
default_hour: 9,
|
||||
default_minute: 0,
|
||||
timeformat: "%Y-%m-%d %H:%M",
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<ul>
|
||||
<li><code>journal</code>: path to your journal file</li>
|
||||
<li><code>editor</code>: if set, executes this command to launch an external editor for writing your entries, e.g. <code>vim</code> or <code>subl -w</code> (note the <code>-w</code> flag to make sure <em>jrnl</em> waits for Sublime Text to close the file before writing into the journal).</li>
|
||||
<li><code>encrypt</code>: if true, encrypts your journal using AES encryption.</li>
|
||||
<li><code>key</code>: you may store the key you used to encrypt your journal in plaintext here. This is useful if your journal file lives in an unsecure space (ie. your Dropbox), but the config file itself is more or less safe.</li>
|
||||
<li><code>tagsymbols</code>: Symbols to be interpreted as tags. (<strong>See note below</strong>)</li>
|
||||
<li><code>default_hour</code> and <code>default_minute</code>: if you supply a date, such as <code>last thursday</code>, but no specific time, the entry will be created at this time</li>
|
||||
<li><code>timeformat</code>: how to format the timestamps in your journal, see the <a href="http://docs.python.org/library/time.html#time.strftime">python docs</a> for reference</li>
|
||||
</ul>
|
||||
|
||||
<blockquote>
|
||||
<p><strong>Note on <code>tagsymbols</code>:</strong> Although it seems intuitive to use the <code>#</code> character for tags, there's a drawback: on most shells, this is interpreted as a meta-character starting a comment. This means that if you type</p>
|
||||
|
||||
<pre><code>jrnl Implemented endless scrolling on the #frontend of our website.
|
||||
</code></pre>
|
||||
|
||||
<p>your bash will chop off everything after the <code>#</code> before passing it to <em>jrnl</em>). To avoid this, wrap your input into quotation marks like this:</p>
|
||||
|
||||
<pre><code>jrnl "Implemented endless scrolling on the #frontend of our website."
|
||||
</code></pre>
|
||||
|
||||
<p>Or use the built-in prompt or an external editor to compose your entries.</p>
|
||||
</blockquote>
|
||||
</div> <!-- /span10 -->
|
||||
</div>
|
||||
|
||||
</div> <!-- /container -->
|
||||
|
||||
<!-- Le javascript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
|
||||
<script src="js/jrnl.js"></script>
|
||||
<script src="js/bootstrap.min.js"></script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
1737
js/bootstrap.js
vendored
Normal file
1737
js/bootstrap.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
7
js/bootstrap.min.js
vendored
Normal file
7
js/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
53
js/jrnl.js
Normal file
53
js/jrnl.js
Normal file
|
@ -0,0 +1,53 @@
|
|||
|
||||
slugify = function(element) {
|
||||
return $(element).text().replace(/\s+/g,'-').replace(/[^a-zA-Z0-9\-]/g,'').toLowerCase().replace(/:+$/g,'');
|
||||
}
|
||||
|
||||
$(window).scroll(function(){
|
||||
var w = $(window).width();
|
||||
if (w > 768) {
|
||||
$('.leftlogo').show();
|
||||
var lt = -300 + $(window).scrollTop()*2
|
||||
if (lt > 30) lt = 30;
|
||||
$('.leftlogo').css('top', lt);
|
||||
if ($(window).scrollTop() > 30) {
|
||||
$('#navbar').css('margin-top', $(window).scrollTop()-30)
|
||||
}
|
||||
} else {
|
||||
$('.leftlogo').hide();
|
||||
}
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#navbar').scrollspy();
|
||||
var blocks = []
|
||||
$("h1, h2").each(function() {
|
||||
var block = $("<div class='block'></div>")
|
||||
var title = $(this).clone()
|
||||
title.attr("id", slugify(title))
|
||||
var content = $(this).nextUntil('h2')
|
||||
// if (content.length == 0) {
|
||||
// content = $(this).nextUntil()
|
||||
// }
|
||||
block.append(title)
|
||||
block.append(content);
|
||||
$(this).remove();
|
||||
blocks.push(block)
|
||||
var navitem = $("<li class='nav-header'><a href='#"+slugify(title)+"'>"+title.text()+"</a></li>");
|
||||
$(".nav").append(navitem)
|
||||
block.find('h3').each(function() {
|
||||
$(this).attr('id', slugify(this));
|
||||
var navitem = $("<li><a href='#"+slugify(this)+"'>"+$(this).text().replace(/:+$/g,'')+"</a></li>");
|
||||
$(".nav").append(navitem)
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
$(blocks).each( function() {
|
||||
$('.content').append(this);
|
||||
})
|
||||
|
||||
})
|
15
templates/footer.html
Normal file
15
templates/footer.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
</div> <!-- /span10 -->
|
||||
</div>
|
||||
|
||||
</div> <!-- /container -->
|
||||
|
||||
<!-- Le javascript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
|
||||
<script src="js/jrnl.js"></script>
|
||||
<script src="js/bootstrap.min.js"></script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
50
templates/header.html
Normal file
50
templates/header.html
Normal file
|
@ -0,0 +1,50 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>jrnl</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="Manuel Ebert">
|
||||
|
||||
<!-- Le styles -->
|
||||
<link href="css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="css/jrnl.css" rel="stylesheet">
|
||||
<style>
|
||||
body {
|
||||
padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<link rel="shortcut icon" href="img/favicon.png">
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body data-spy="scroll">
|
||||
|
||||
|
||||
<div class="container">
|
||||
<div class="logo row">
|
||||
<div class="span2"> </div>
|
||||
<div class="span10"> </div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="span2 navcontain">
|
||||
<div class="leftlogo"></div>
|
||||
<div class="sidebar-nav" id='navbar'>
|
||||
<ul class="nav nav-list">
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="span10 content">
|
||||
|
Loading…
Add table
Reference in a new issue