Compare commits
No commits in common. "master" and "gh-pages" have entirely different histories.
12
Makefile
12
Makefile
|
@ -1,12 +0,0 @@
|
|||
PREFIX ?= /usr
|
||||
BINDIR ?= $(PREFIX)/bin
|
||||
|
||||
install:
|
||||
$(info Installing the executable to $(BINDIR))
|
||||
@install -Dm755 bb.sh $(BINDIR)/bb
|
||||
|
||||
uninstall:
|
||||
$(info Removing the executable from $(BINDIR))
|
||||
@rm -f $(BINDIR)/bb
|
||||
|
||||
.PHONY: install uninstall
|
197
README.md
197
README.md
|
@ -1,197 +0,0 @@
|
|||
x-bashblog - a fork of bashblog adapted to xhtml-1.1
|
||||
========
|
||||
|
||||
readme for the original project is below this line
|
||||
========
|
||||
|
||||
A single Bash script to create blogs.
|
||||
|
||||
I created it because I wanted a very, very simple way to post entries to a blog by using a public folder on my server, without any special requirements and dependencies. Works on GNU/Linux, OSX and BSD.
|
||||
|
||||
*How simple? Just type `./bb.sh post` and start writing your blogpost.*
|
||||
|
||||
[![asciinema](https://asciinema.org/a/4nr44km9ipow4s7u2w2eabeik.png)](https://asciinema.org/a/4nr44km9ipow4s7u2w2eabeik)
|
||||
|
||||
You can see a sample here: [read the initial blog post](https://web.archive.org/web/20130520204024/http://mmb.pcb.ub.es/~carlesfe/blog/creating-a-simple-blog-system-with-a-500-line-bash-script.html). That page was 100% generated using bashblog, no additional tweaking.
|
||||
|
||||
[![demo](https://raw.githubusercontent.com/cfenollosa/bashblog/gh-pages/images/demo_thumb.png)](https://raw.githubusercontent.com/cfenollosa/bashblog/gh-pages/images/demo.png)
|
||||
|
||||
Check out [other bashblog users](https://www.google.com/search?q=%22Generated+with+bashblog,+a+single+bash+script+to+easily+create+blogs+like+this+one%22)
|
||||
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
Download the code and copy bb.sh into a public folder (for example, `$HOME/public_html/blog`) and run
|
||||
|
||||
./bb.sh
|
||||
|
||||
This will show the available commands. If the file is not executable, type `chmod +x bb.sh` and retry.
|
||||
|
||||
**Before creating your first post, you may want to configure the blog settings (title, author, etc).
|
||||
Read the Configuration section below for more information**
|
||||
|
||||
To create your first post, just run:
|
||||
|
||||
./bb.sh post
|
||||
|
||||
It will try to use Markdown, if installed. To force HTML:
|
||||
|
||||
./bb.sh post -html
|
||||
|
||||
The script will handle the rest.
|
||||
|
||||
When you're done, access the public URL for that folder (e.g. `http://server.com/~username/blog`)
|
||||
and you should see the index file and a new page for that post!
|
||||
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
- Ultra simple usage: Just type a post with your favorite editor and the script does the rest. No templating.
|
||||
- No installation required. Download `bb.sh` and start blogging.
|
||||
- Zero dependencies. It runs just on base utils (`date`, `basename`, `grep`, `sed`, `head`, etc)
|
||||
- GNU/Linux, BSD and OSX compatible out of the box, no need for GNU `coreutils` on a Mac.
|
||||
It does some magic to autodetect which command switches it needs to run depending on your system.
|
||||
- All content is static. You only need shell access to a machine with a public web folder.
|
||||
*Tip: advanced users could mount a remote public folder via `ftpfs` and run this script locally*
|
||||
- Allows drafts, includes a simple but clean stylesheet, generates the RSS file automatically.
|
||||
- Support for tags/categories
|
||||
- Support for Markdown, Disqus comments, Twitter, Feedburner, Google Analytics.
|
||||
- The project is still maintained as of 2016. Bugs are fixed, and new features are considered (see "Contributing")
|
||||
- Everything stored in a single ~1k lines bash script, how cool is that?! ;)
|
||||
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
Configuration is not required for a test drive, but if you plan on running your blog with bashblog, you will
|
||||
want to change the default titles, author names, etc, to match your own.
|
||||
|
||||
There are two ways to configure the blog strings:
|
||||
|
||||
- Edit `bb.sh` and modify the variables in the `global_variables()` function
|
||||
- Create a `.config` file with your configuration values -- useful if you don't want to touch the script and be able to update it regularly with git
|
||||
|
||||
The software will load the values in the script first, then overwrite them with the values in the `.config` file.
|
||||
This means that you don't need to define all variables in the config file, only those which you need to override
|
||||
from the defaults.
|
||||
|
||||
The format of the `.config` file is just one `variablename="value"` per line, just like in the `global_variables()`
|
||||
function. **Please remember:** quote the values, do not declare a variable with the dollar sign, do not use
|
||||
spaces around the equal sign.
|
||||
|
||||
bashblog uses the `$EDITOR` environment value to open the text editor.
|
||||
|
||||
|
||||
Detailed features
|
||||
-----------------
|
||||
|
||||
- A simple but nice and readable design, with nothing but the blog posts
|
||||
- **NEW on 2.0** Markdown support via a third-party library.
|
||||
The easiest method is to download
|
||||
Gruber's [Markdown.pl](http://daringfireball.net/projects/markdown/)
|
||||
- Post preview
|
||||
- Save posts as drafts and resume editing later
|
||||
- HTML page for each post, using its title as the URL
|
||||
- Configurable number of posts on the front page
|
||||
- Automatic generation of an RSS file, feedburner support
|
||||
- Additional page containing an index of all posts
|
||||
- Automatically generates pages for each tag
|
||||
- Rebuild all files while keeping the original data
|
||||
- Comments delegated to Twitter, with additional Disqus support
|
||||
- An option for cookieless Twitter sharing, to comply with the
|
||||
[EU cookie law](https://github.com/cfenollosa/eu-cookie-law)
|
||||
- Google Analytics code support
|
||||
- Contains its own CSS so that everything is reasonably styled by default
|
||||
- Headers, footers, and in general everything that a well-structured html file needs
|
||||
- Support to add extra content on top of every page (e.g. banners, images, etc)
|
||||
- xhtml validation, CSS validation, RSS validation by the w3c
|
||||
- Automatic backup of the site every time you post (stored as `.backup.tar.gz`)
|
||||
|
||||
Read the Changelog section for more updates or [check out the news on my blog](http://cfenollosa.com/blog/tag_bashblog.html)
|
||||
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
Bashblog started at 500 SLOC and it now has hit the 1000 SLOC barrier.
|
||||
If we want to keep the code minimal and understandable, we need to make the difficult effort to restrain ourselves
|
||||
from adding too many features.
|
||||
|
||||
All bugfixes are welcome, but brand new features need to be strongly justified to get into the main tree.
|
||||
Every new request will be honestly and civilly discussed on the comments.
|
||||
As a guideline, pull requests should:
|
||||
|
||||
- Fix a use case for some people (e.g. internationalization)
|
||||
- Add a use case which is arguably very common (e.g. disqus integration for comments)
|
||||
- Be very small when possible (a couple lines of code)
|
||||
- Don't require a significant rewrite of the code (Don't break `create_html_file()` or `write_entry()`, etc)
|
||||
- It must work on Linux, BSD and Mac. Beware of using GNU coreutils with non-POSIX flags (i.e. `date` or `grep`)
|
||||
- Follow the UNIX philosophy: do one thing and do it well, rely on third party software for external features, etc
|
||||
- **Always** keep backwards compatibility when using the default configuration
|
||||
|
||||
|
||||
Changelog
|
||||
---------
|
||||
|
||||
- 2.9 Added `body_begin_file_index`
|
||||
- 2.8 Bugfixes<br/>
|
||||
Slavic language support thanks to Tomasz Jadowski<br/>
|
||||
Removed the now defunct Twitter JSON API share count<br/>
|
||||
Support for static, not managed by bashblog html files<br/>
|
||||
- 2.7 Store post date on a comment in the html file (#96).<br/>
|
||||
On rebuild, the post date will be synchronised between comment date and file date, with precedence for comment date.
|
||||
- 2.6 Support for multiple authors, use a different `.config` for each one
|
||||
- 2.5 Massive code cleanup by Martijn Dekker<br/>
|
||||
'tags' command<br/>
|
||||
The word 'posts' in the tag list (both website and command) now has a singular form, check out `template_tags_posts_singular`
|
||||
- 2.4 Added Twitter summaries metadata for posts (#36)
|
||||
- 2.3.3 Removed big comment header.<br/>
|
||||
Added option to display tags for cut articles on index pages (#61)<br/>
|
||||
Cleaned up "all posts" page (#57)
|
||||
- 2.3.2 Option to use topsy instead of twitter for references
|
||||
- 2.3.1 Cookieless Twitter option
|
||||
- 2.3 Intelligent tag rebuilding and Markdown by default
|
||||
- 2.2 Flexible post title -> filename conversion
|
||||
- 2.1 Support for tags/categories.<br/>
|
||||
'delete' command
|
||||
- 2.0.3 Support for other analytics code, via external file
|
||||
- 2.0.2 Fixed bug when $body_begin_file was empty.<br/>
|
||||
Added extra line in the footer linking to the github project
|
||||
- 2.0.1 Allow personalized header/footer files
|
||||
- 2.0 Added Markdown support.<br/>
|
||||
Fully support BSD date
|
||||
- 1.6.4 Fixed bug in localized dates
|
||||
- 1.6.3 Now supporting BSD date
|
||||
- 1.6.2 Simplified some functions and variables to avoid duplicated information
|
||||
- 1.6.1 'date' fix when hours are 1 digit.
|
||||
- 1.6.0 Disqus comments. External configuration file. Check of 'date' command version.
|
||||
- 1.5.1 Misc bugfixes and parameter checks
|
||||
- 1.5 Đurađ Radojičić (djura-san) refactored some code and added flexibility and i18n
|
||||
- 1.4.2 Now issues are handled at Github
|
||||
- 1.4.1 Some code refactoring
|
||||
- 1.4 Using twitter for comments, improved 'rebuild' command
|
||||
- 1.3 'edit' command
|
||||
- 1.2.2 Feedburner support
|
||||
- 1.2.1 Fixed the timestamps bug
|
||||
- 1.2 'list' command
|
||||
- 1.1 Draft and preview support
|
||||
- 1.0 Read http://is.gd/Bkdoru
|
||||
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
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/>.
|
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
After Width: | Height: | Size: 268 B |
Binary file not shown.
After Width: | Height: | Size: 277 KiB |
Binary file not shown.
After Width: | Height: | Size: 180 KiB |
|
@ -0,0 +1,231 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheets/github-dark.css" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print">
|
||||
|
||||
<title>Bashblog by cfenollosa</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<header>
|
||||
<div class="container">
|
||||
<h1>Bashblog</h1>
|
||||
<h2>A Bash script that handles blog posting</h2>
|
||||
|
||||
<section id="downloads">
|
||||
<a href="https://github.com/cfenollosa/bashblog/zipball/master" class="btn">Download as .zip</a>
|
||||
<a href="https://github.com/cfenollosa/bashblog/tarball/master" class="btn">Download as .tar.gz</a>
|
||||
<a href="https://github.com/cfenollosa/bashblog" class="btn btn-github"><span class="icon"></span>View on GitHub</a>
|
||||
</section>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="container">
|
||||
<section id="main_content">
|
||||
<h1>
|
||||
<a id="bashblog" class="anchor" href="#bashblog" aria-hidden="true"><span class="octicon octicon-link"></span></a>bashblog</h1>
|
||||
|
||||
<p>A single Bash script to create blogs. </p>
|
||||
|
||||
<p>I created it because I wanted a very, very simple way to post entries to a blog by using a public folder on my server, without any special requirements and dependencies. Works on GNU/Linux, OSX and BSD.</p>
|
||||
|
||||
<p><em>How simple? Just type <code>./bb.sh post</code> and start writing your blogpost.</em></p>
|
||||
|
||||
<p>You can see it live here: <a href="https://web.archive.org/web/20130520204024/http://mmb.pcb.ub.es/%7Ecarlesfe/blog/creating-a-simple-blog-system-with-a-500-line-bash-script.html">read the initial blog post</a>. That page was 100% generated using bashblog, no additional tweaking.</p>
|
||||
|
||||
<p><a href="https://raw.githubusercontent.com/cfenollosa/bashblog/gh-pages/images/demo.png"><img src="https://raw.githubusercontent.com/cfenollosa/bashblog/gh-pages/images/demo_thumb.png" alt="demo"></a></p>
|
||||
|
||||
<h2>
|
||||
<a id="usage" class="anchor" href="#usage" aria-hidden="true"><span class="octicon octicon-link"></span></a>Usage</h2>
|
||||
|
||||
<p>Download the code and copy bb.sh into a public folder (for example, <code>$HOME/public_html/blog</code>) and run</p>
|
||||
|
||||
<pre><code>./bb.sh
|
||||
</code></pre>
|
||||
|
||||
<p>This will show the available commands. If the file is not executable, type <code>chmod +x bb.sh</code> and retry.</p>
|
||||
|
||||
<p><strong>Before creating your first post, you may want to configure the blog settings (title, author, etc).
|
||||
Read the Configuration section below for more information</strong></p>
|
||||
|
||||
<p>To create your first post, just run:</p>
|
||||
|
||||
<pre><code>./bb.sh post
|
||||
</code></pre>
|
||||
|
||||
<p>It will try to use Markdown, if installed. To force HTML:</p>
|
||||
|
||||
<pre><code>./bb.sh post -html
|
||||
</code></pre>
|
||||
|
||||
<p>The script will handle the rest.</p>
|
||||
|
||||
<p>When you're done, access the public URL for that folder (e.g. <code>http://server.com/~username/blog</code>)
|
||||
and you should see the index file and a new page for that post!</p>
|
||||
|
||||
<h2>
|
||||
<a id="features" class="anchor" href="#features" aria-hidden="true"><span class="octicon octicon-link"></span></a>Features</h2>
|
||||
|
||||
<ul>
|
||||
<li>Ultra simple usage: Just type a post with your favorite editor and the script does the rest. No templating.</li>
|
||||
<li>No installation required. Download <code>bb.sh</code> and start blogging.</li>
|
||||
<li>Zero dependencies. It runs just on base utils (<code>date</code>, <code>basename</code>, <code>grep</code>, <code>sed</code>, <code>head</code>, etc)</li>
|
||||
<li>GNU/Linux, BSD and OSX compatible out of the box, no need for GNU <code>coreutils</code> on a Mac.
|
||||
It does some magic to autodetect which command switches it needs to run depending on your system.</li>
|
||||
<li>All content is static. You only need shell access to a machine with a public web folder.
|
||||
<em>Tip: advanced users could mount a remote public folder via <code>ftpfs</code> and run this script locally</em>
|
||||
</li>
|
||||
<li>Allows drafts, includes a simple but clean stylesheet, generates the RSS file automatically.</li>
|
||||
<li>Support for tags/categories</li>
|
||||
<li>Support for Markdown, Disqus comments, Twitter, Feedburner, Google Analytics.</li>
|
||||
<li>The project is still maintained as of 2016. Bugs are fixed, and new features are considered (see "Contributing")</li>
|
||||
<li>Everything stored in a single ~1k lines bash script, how cool is that?! ;) </li>
|
||||
</ul>
|
||||
|
||||
<h2>
|
||||
<a id="configuration" class="anchor" href="#configuration" aria-hidden="true"><span class="octicon octicon-link"></span></a>Configuration</h2>
|
||||
|
||||
<p>Configuration is not required for a test drive, but if you plan on running your blog with bashblog, you will
|
||||
want to change the default titles, author names, etc, to match your own.</p>
|
||||
|
||||
<p>There are two ways to configure the blog strings:</p>
|
||||
|
||||
<ul>
|
||||
<li>Edit <code>bb.sh</code> and modify the variables in the <code>global_variables()</code> function</li>
|
||||
<li>Create a <code>.config</code> file with your configuration values -- useful if you don't want to touch the script and be able to update it regularly with git</li>
|
||||
</ul>
|
||||
|
||||
<p>The software will load the values in the script first, then overwrite them with the values in the <code>.config</code> file.
|
||||
This means that you don't need to define all variables in the config file, only those which you need to override
|
||||
from the defaults.</p>
|
||||
|
||||
<p>The format of the <code>.config</code> file is just one <code>variablename="value"</code> per line, just like in the <code>global_variables()</code>
|
||||
function. <strong>Please remember:</strong> quote the values, do not declare a variable with the dollar sign, do not use
|
||||
spaces around the equal sign.</p>
|
||||
|
||||
<p>bashblog uses the <code>$EDITOR</code> environment value to open the text editor.</p>
|
||||
|
||||
<h2>
|
||||
<a id="detailed-features" class="anchor" href="#detailed-features" aria-hidden="true"><span class="octicon octicon-link"></span></a>Detailed features</h2>
|
||||
|
||||
<ul>
|
||||
<li>A simple but nice and readable design, with nothing but the blog posts</li>
|
||||
<li>
|
||||
<strong>NEW on 2.0</strong> Markdown support via a third-party library.<br>
|
||||
The easiest method is to download
|
||||
Gruber's <a href="http://daringfireball.net/projects/markdown/">Markdown.pl</a>
|
||||
</li>
|
||||
<li>Post preview</li>
|
||||
<li>Save posts as drafts and resume editing later</li>
|
||||
<li>HTML page for each post, using its title as the URL</li>
|
||||
<li>Configurable number of posts on the front page</li>
|
||||
<li>Automatic generation of an RSS file, feedburner support</li>
|
||||
<li>Additional page containing an index of all posts</li>
|
||||
<li>Automatically generates pages for each tag</li>
|
||||
<li>Rebuild all files while keeping the original data</li>
|
||||
<li>Comments delegated to Twitter, with additional Disqus support</li>
|
||||
<li>An option for cookieless Twitter sharing, to comply with the
|
||||
<a href="https://github.com/cfenollosa/eu-cookie-law">EU cookie law</a>
|
||||
</li>
|
||||
<li>Google Analytics code support</li>
|
||||
<li>Contains its own CSS so that everything is reasonably styled by default</li>
|
||||
<li>Headers, footers, and in general everything that a well-structured html file needs</li>
|
||||
<li>Support to add extra content on top of every page (e.g. banners, images, etc)</li>
|
||||
<li>xhtml validation, CSS validation, RSS validation by the w3c</li>
|
||||
<li>Automatic backup of the site every time you post (stored as <code>.backup.tar.gz</code>)</li>
|
||||
</ul>
|
||||
|
||||
<p>Read the Changelog section for more updates or <a href="http://cfenollosa.com/blog/tag_bashblog.html">check out the news on my blog</a></p>
|
||||
|
||||
<h2>
|
||||
<a id="contributing" class="anchor" href="#contributing" aria-hidden="true"><span class="octicon octicon-link"></span></a>Contributing</h2>
|
||||
|
||||
<p>Bashblog started at 500 SLOC and it now has hit the 1000 SLOC barrier.
|
||||
If we want to keep the code minimal and understandable, we need to make the difficult effort to restrain ourselves
|
||||
from adding too many features.</p>
|
||||
|
||||
<p>All bugfixes are welcome, but brand new features need to be strongly justified to get into the main tree.
|
||||
Every new request will be honestly and civilly discussed on the comments.
|
||||
As a guideline, pull requests should:</p>
|
||||
|
||||
<ul>
|
||||
<li>Fix a use case for some people (e.g. internationalization)</li>
|
||||
<li>Add a use case which is arguably very common (e.g. disqus integration for comments)</li>
|
||||
<li>Be very small when possible (a couple lines of code)</li>
|
||||
<li>Don't require a significant rewrite of the code (Don't break <code>create_html_file()</code> or <code>write_entry()</code>, etc)</li>
|
||||
<li>It must work on Linux, BSD and Mac. Beware of using GNU coreutils with non-POSIX flags (i.e. <code>date</code> or <code>grep</code>)</li>
|
||||
<li>Follow the UNIX philosophy: do one thing and do it well, rely on third party software for external features, etc</li>
|
||||
<li>
|
||||
<strong>Always</strong> keep backwards compatibility when using the default configuration</li>
|
||||
</ul>
|
||||
|
||||
<h2>
|
||||
<a id="changelog" class="anchor" href="#changelog" aria-hidden="true"><span class="octicon octicon-link"></span></a>Changelog</h2>
|
||||
|
||||
<ul>
|
||||
<li>2.5 Massive code cleanup by Martijn Dekker<br>
|
||||
'tags' command<br>
|
||||
The word 'posts' in the tag list (both website and command) now has a singular form, check out <code>template_tags_posts_singular</code>
|
||||
</li>
|
||||
<li>2.4 Added Twitter summaries metadata for posts (#36)</li>
|
||||
<li>2.3.3 Removed big comment header.<br>
|
||||
Added option to display tags for cut articles on index pages (#61)<br>
|
||||
Cleaned up "all posts" page (#57)</li>
|
||||
<li>2.3.2 Option to use topsy instead of twitter for references</li>
|
||||
<li>2.3.1 Cookieless Twitter option</li>
|
||||
<li>2.3 Intelligent tag rebuilding and Markdown by default</li>
|
||||
<li>2.2 Flexible post title -> filename conversion</li>
|
||||
<li>2.1 Support for tags/categories.<br>
|
||||
'delete' command</li>
|
||||
<li>2.0.3 Support for other analytics code, via external file</li>
|
||||
<li>2.0.2 Fixed bug when $body_begin_file was empty.<br>
|
||||
Added extra line in the footer linking to the github project</li>
|
||||
<li>2.0.1 Allow personalized header/footer files</li>
|
||||
<li>2.0 Added Markdown support.<br>
|
||||
Fully support BSD date</li>
|
||||
<li>1.6.4 Fixed bug in localized dates</li>
|
||||
<li>1.6.3 Now supporting BSD date</li>
|
||||
<li>1.6.2 Simplified some functions and variables to avoid duplicated information</li>
|
||||
<li>1.6.1 'date' fix when hours are 1 digit.</li>
|
||||
<li>1.6.0 Disqus comments. External configuration file. Check of 'date' command version.</li>
|
||||
<li>1.5.1 Misc bugfixes and parameter checks</li>
|
||||
<li>1.5 Đurađ Radojičić (djura-san) refactored some code and added flexibility and i18n</li>
|
||||
<li>1.4.2 Now issues are handled at Github</li>
|
||||
<li>1.4.1 Some code refactoring</li>
|
||||
<li>1.4 Using twitter for comments, improved 'rebuild' command</li>
|
||||
<li>1.3 'edit' command</li>
|
||||
<li>1.2.2 Feedburner support</li>
|
||||
<li>1.2.1 Fixed the timestamps bug</li>
|
||||
<li>1.2 'list' command</li>
|
||||
<li>1.1 Draft and preview support</li>
|
||||
<li>1.0 Read <a href="http://is.gd/Bkdoru">http://is.gd/Bkdoru</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>
|
||||
<a id="license" class="anchor" href="#license" aria-hidden="true"><span class="octicon octicon-link"></span></a>License</h2>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
console.log('This would be the main JS file.');
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,116 @@
|
|||
/*
|
||||
Copyright 2014 GitHub Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
*/
|
||||
|
||||
.pl-c /* comment */ {
|
||||
color: #969896;
|
||||
}
|
||||
|
||||
.pl-c1 /* constant, markup.raw, meta.diff.header, meta.module-reference, meta.property-name, support, support.constant, support.variable, variable.other.constant */,
|
||||
.pl-s .pl-v /* string variable */ {
|
||||
color: #0099cd;
|
||||
}
|
||||
|
||||
.pl-e /* entity */,
|
||||
.pl-en /* entity.name */ {
|
||||
color: #9774cb;
|
||||
}
|
||||
|
||||
.pl-s .pl-s1 /* string source */,
|
||||
.pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ {
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
.pl-ent /* entity.name.tag */ {
|
||||
color: #7bcc72;
|
||||
}
|
||||
|
||||
.pl-k /* keyword, storage, storage.type */ {
|
||||
color: #cc2372;
|
||||
}
|
||||
|
||||
.pl-pds /* punctuation.definition.string, string.regexp.character-class */,
|
||||
.pl-s /* string */,
|
||||
.pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */,
|
||||
.pl-sr /* string.regexp */,
|
||||
.pl-sr .pl-cce /* string.regexp constant.character.escape */,
|
||||
.pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */,
|
||||
.pl-sr .pl-sre /* string.regexp source.ruby.embedded */ {
|
||||
color: #3c66e2;
|
||||
}
|
||||
|
||||
.pl-v /* variable */ {
|
||||
color: #fb8764;
|
||||
}
|
||||
|
||||
.pl-id /* invalid.deprecated */ {
|
||||
color: #e63525;
|
||||
}
|
||||
|
||||
.pl-ii /* invalid.illegal */ {
|
||||
background-color: #e63525;
|
||||
color: #f8f8f8;
|
||||
}
|
||||
|
||||
.pl-sr .pl-cce /* string.regexp constant.character.escape */ {
|
||||
color: #7bcc72;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.pl-ml /* markup.list */ {
|
||||
color: #c26b2b;
|
||||
}
|
||||
|
||||
.pl-mh /* markup.heading */,
|
||||
.pl-mh .pl-en /* markup.heading entity.name */,
|
||||
.pl-ms /* meta.separator */ {
|
||||
color: #264ec5;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.pl-mq /* markup.quote */ {
|
||||
color: #00acac;
|
||||
}
|
||||
|
||||
.pl-mi /* markup.italic */ {
|
||||
color: #ddd;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.pl-mb /* markup.bold */ {
|
||||
color: #ddd;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.pl-md /* markup.deleted, meta.diff.header.from-file */ {
|
||||
background-color: #ffecec;
|
||||
color: #bd2c00;
|
||||
}
|
||||
|
||||
.pl-mi1 /* markup.inserted, meta.diff.header.to-file */ {
|
||||
background-color: #eaffea;
|
||||
color: #55a532;
|
||||
}
|
||||
|
||||
.pl-mdr /* meta.diff.range */ {
|
||||
color: #9774cb;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.pl-mo /* meta.output */ {
|
||||
color: #264ec5;
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
.highlight .c { color: #999988; font-style: italic } /* Comment */
|
||||
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
|
||||
.highlight .k { font-weight: bold } /* Keyword */
|
||||
.highlight .o { font-weight: bold } /* Operator */
|
||||
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
|
||||
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
|
||||
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
|
||||
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #aa0000 } /* Generic.Error */
|
||||
.highlight .gh { color: #999999 } /* Generic.Heading */
|
||||
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
|
||||
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
|
||||
.highlight .go { color: #888888 } /* Generic.Output */
|
||||
.highlight .gp { color: #555555 } /* Generic.Prompt */
|
||||
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */
|
||||
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
|
||||
.highlight .kc { font-weight: bold } /* Keyword.Constant */
|
||||
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
|
||||
.highlight .kn { font-weight: bold } /* Keyword.Namespace */
|
||||
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
|
||||
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
|
||||
.highlight .m { color: #009999 } /* Literal.Number */
|
||||
.highlight .s { color: #d14 } /* Literal.String */
|
||||
.highlight .na { color: #008080 } /* Name.Attribute */
|
||||
.highlight .nb { color: #0086B3 } /* Name.Builtin */
|
||||
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #008080 } /* Name.Constant */
|
||||
.highlight .ni { color: #800080 } /* Name.Entity */
|
||||
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
|
||||
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
|
||||
.highlight .nn { color: #555555 } /* Name.Namespace */
|
||||
.highlight .nt { color: #CBDFFF } /* Name.Tag */
|
||||
.highlight .nv { color: #008080 } /* Name.Variable */
|
||||
.highlight .ow { font-weight: bold } /* Operator.Word */
|
||||
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.highlight .mf { color: #009999 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
|
||||
.highlight .sb { color: #d14 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #d14 } /* Literal.String.Char */
|
||||
.highlight .sd { color: #d14 } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #d14 } /* Literal.String.Double */
|
||||
.highlight .se { color: #d14 } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #d14 } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #d14 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #009926 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #d14 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
|
||||
.highlight .vc { color: #008080 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #008080 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
|
||||
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
|
||||
|
||||
.type-csharp .highlight .k { color: #0000FF }
|
||||
.type-csharp .highlight .kt { color: #0000FF }
|
||||
.type-csharp .highlight .nf { color: #000000; font-weight: normal }
|
||||
.type-csharp .highlight .nc { color: #2B91AF }
|
||||
.type-csharp .highlight .nn { color: #000000 }
|
||||
.type-csharp .highlight .s { color: #A31515 }
|
||||
.type-csharp .highlight .sc { color: #A31515 }
|
|
@ -0,0 +1,247 @@
|
|||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: #151515 url("../images/bkg.png") 0 0;
|
||||
color: #eaeaea;
|
||||
font: 16px;
|
||||
line-height: 1.5;
|
||||
font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
|
||||
}
|
||||
|
||||
/* General & 'Reset' Stuff */
|
||||
|
||||
.container {
|
||||
width: 90%;
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
section {
|
||||
display: block;
|
||||
margin: 0 0 20px 0;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin: 0 0 20px;
|
||||
}
|
||||
|
||||
li {
|
||||
line-height: 1.4 ;
|
||||
}
|
||||
|
||||
/* Header, <header>
|
||||
header - container
|
||||
h1 - project name
|
||||
h2 - project description
|
||||
*/
|
||||
|
||||
header {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
width: 100%;
|
||||
border-bottom: 1px dashed #b5e853;
|
||||
padding: 20px 0;
|
||||
margin: 0 0 40px 0;
|
||||
}
|
||||
|
||||
header h1 {
|
||||
font-size: 30px;
|
||||
line-height: 1.5;
|
||||
margin: 0 0 0 -40px;
|
||||
font-weight: bold;
|
||||
font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
|
||||
color: #b5e853;
|
||||
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1),
|
||||
0 0 5px rgba(181, 232, 83, 0.1),
|
||||
0 0 10px rgba(181, 232, 83, 0.1);
|
||||
letter-spacing: -1px;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
header h1:before {
|
||||
content: "./ ";
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
header h2 {
|
||||
font-size: 18px;
|
||||
font-weight: 300;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
#downloads .btn {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Main Content
|
||||
*/
|
||||
|
||||
#main_content {
|
||||
width: 100%;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
section img {
|
||||
max-width: 100%
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-weight: normal;
|
||||
font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
|
||||
color: #b5e853;
|
||||
letter-spacing: -0.03em;
|
||||
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1),
|
||||
0 0 5px rgba(181, 232, 83, 0.1),
|
||||
0 0 10px rgba(181, 232, 83, 0.1);
|
||||
}
|
||||
|
||||
#main_content h1 {
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
#main_content h2 {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
#main_content h3 {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
#main_content h4 {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#main_content h5 {
|
||||
font-size: 12px;
|
||||
text-transform: uppercase;
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
|
||||
#main_content h6 {
|
||||
font-size: 12px;
|
||||
text-transform: uppercase;
|
||||
color: #999;
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
ul li {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
ul li:before {
|
||||
content: ">>";
|
||||
font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
|
||||
font-size: 13px;
|
||||
color: #b5e853;
|
||||
margin-left: -37px;
|
||||
margin-right: 21px;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
color: #aaa;
|
||||
padding-left: 10px;
|
||||
border-left: 1px dotted #666;
|
||||
}
|
||||
|
||||
pre {
|
||||
background: rgba(0, 0, 0, 0.9);
|
||||
border: 1px solid rgba(255, 255, 255, 0.15);
|
||||
padding: 10px;
|
||||
font-size: 14px;
|
||||
color: #b5e853;
|
||||
border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
text-wrap: normal;
|
||||
overflow: auto;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
margin: 0 0 20px 0;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: left;
|
||||
border-bottom: 1px dashed #b5e853;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
td {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
hr {
|
||||
height: 0;
|
||||
border: 0;
|
||||
border-bottom: 1px dashed #b5e853;
|
||||
color: #b5e853;
|
||||
}
|
||||
|
||||
/* Buttons
|
||||
*/
|
||||
|
||||
.btn {
|
||||
display: inline-block;
|
||||
background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.3), rgba(35, 35, 35, 0.3) 50%, rgba(10, 10, 10, 0.3) 50%, rgba(0, 0, 0, 0.3));
|
||||
padding: 8px 18px;
|
||||
border-radius: 50px;
|
||||
border: 2px solid rgba(0, 0, 0, 0.7);
|
||||
border-bottom: 2px solid rgba(0, 0, 0, 0.7);
|
||||
border-top: 2px solid rgba(0, 0, 0, 1);
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
font-weight: bold;
|
||||
font-size: 13px;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.75);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.6), rgba(35, 35, 35, 0.6) 50%, rgba(10, 10, 10, 0.8) 50%, rgba(0, 0, 0, 0.8));
|
||||
}
|
||||
|
||||
.btn .icon {
|
||||
display: inline-block;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin: 1px 8px 0 0;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.btn-github .icon {
|
||||
opacity: 0.6;
|
||||
background: url("../images/blacktocat.png") 0 0 no-repeat;
|
||||
}
|
||||
|
||||
/* Links
|
||||
a, a:hover, a:visited
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #63c0f5;
|
||||
text-shadow: 0 0 5px rgba(104, 182, 255, 0.5);
|
||||
}
|
||||
|
||||
/* Clearfix */
|
||||
|
||||
.cf:before, .cf:after {
|
||||
content:"";
|
||||
display:table;
|
||||
}
|
||||
|
||||
.cf:after {
|
||||
clear:both;
|
||||
}
|
||||
|
||||
.cf {
|
||||
zoom:1;
|
||||
}
|
Loading…
Reference in New Issue