jekyll-scientific 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/README.md +78 -2
- data/VERSION +1 -1
- data/bin/jsc +4 -0
- data/bin/jsc_publish.sh +41 -0
- data/bin/jsc_shell.sh +10 -0
- data/jekyll-scientific-0.0.1.gem +0 -0
- data/jsc.gemspec +1 -0
- metadata +6 -2
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -3,7 +3,20 @@ __J__ekyll __Sc__ientific plugin - JSC
|
|
3
3
|
|
4
4
|
A plugin which extends markdown to include features akin to Latex's that make markdown viable for research write-ups.
|
5
5
|
|
6
|
-
|
6
|
+
# How to use it
|
7
|
+
|
8
|
+
In your Jekyll _config.yaml file add a gems array and add jsc to it as in
|
9
|
+
gems : [jsc]
|
10
|
+
|
11
|
+
On the command line run
|
12
|
+
|
13
|
+
``` bash
|
14
|
+
gem install jekyll-scientific
|
15
|
+
```
|
16
|
+
|
17
|
+
That's it, plugin specific config options are included below.
|
18
|
+
|
19
|
+
## What it supports Support
|
7
20
|
|
8
21
|
* Adds proper formula via [MathJax](http://www.mathjax.org/)
|
9
22
|
* Citation support for bib files [bibtex-ruby](https://github.com/inukshuk/bibtex-ruby), and [CSL](https://github.com/citation-style-language/styles)
|
@@ -13,5 +26,68 @@ A plugin which extends markdown to include features akin to Latex's that make ma
|
|
13
26
|
* Add [pandoc](http://johnmacfarlane.net/pandoc/) support so that Jekyll site can be completely written in LateX or another format and output to HTML and PDF.
|
14
27
|
See [pandoc-multiple-formats](https://github.com/fauno/jekyll-pandoc-multiple-formats) or [pandoc-plugin](https://github.com/dsanson/jekyll-pandoc-plugin)
|
15
28
|
|
16
|
-
*
|
29
|
+
* Unfortunately you can't run custom plugins with GitHub pages (for obv. reasons). So JSC sites need to be built locally and their _site directory pushed to GitHub.
|
30
|
+
One the list of things to do is use git hooks to automatically build the jekyll site see [Git global hooks](http://stackoverflow.com/a/8842663/400048) and [Githooks](http://githooks.com/)
|
31
|
+
|
32
|
+
# Configuration
|
33
|
+
|
34
|
+
Various config options are available for each plugin included.
|
35
|
+
|
36
|
+
## Citations
|
37
|
+
|
38
|
+
Citations are provided by [jekyll-scholar](https://github.com/inukshuk/jekyll-scholar/).
|
39
|
+
Visit the link for detailed covered of available options and usage.
|
40
|
+
In summary the following options are available to configure how citations work
|
41
|
+
|
42
|
+
``` yaml
|
43
|
+
scholar:
|
44
|
+
style: apa
|
45
|
+
locale: en
|
46
|
+
|
47
|
+
sort_by: none
|
48
|
+
order: ascending
|
49
|
+
|
50
|
+
source: bibtex #says refereces.bib stored in bibtex folder
|
51
|
+
bibliography: references #says a file called bibtex/references.bib is the main bib file
|
52
|
+
bibliography_template: "%{reference}"
|
53
|
+
|
54
|
+
details_dir: bibliography
|
55
|
+
details_layout: bibtex.html
|
56
|
+
details_link: Details
|
57
|
+
|
58
|
+
query: "@*"
|
59
|
+
```
|
60
|
+
To cite a work from the main bib fileuse the cite tag as in:
|
61
|
+
e.g. {% cite kirsch2006distance %} would cite the entry with the given name.
|
62
|
+
To append a list of references at the bottom of the page or post use the references tag as in:
|
63
|
+
{% bibliography -c %},-c tells it to only include citations used on the current page or post without -c all entries from the bibliography file will be listed
|
64
|
+
|
65
|
+
|
66
|
+
## LateX math / Formulas
|
67
|
+
|
68
|
+
Formulas are done using the MathJax library. There are two tags available for adding math.
|
69
|
+
|
70
|
+
1. {% m %} and {% em %} pairs are used to add math inline i.e. within a sentence
|
71
|
+
|
72
|
+
2. {% math %} and {% endmath %} pairs are used to add math in a centered block as is typical in LateX documents.
|
73
|
+
|
74
|
+
For e.g.
|
75
|
+
|
76
|
+
``` latex
|
77
|
+
|
78
|
+
{% m %}
|
79
|
+
e = mc^2
|
80
|
+
{% em %}
|
81
|
+
|
82
|
+
{% math %}
|
83
|
+
\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix}
|
84
|
+
\mathbf{i} & \mathbf{j} & \mathbf{k} \\
|
85
|
+
\frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\
|
86
|
+
\frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0
|
87
|
+
\end{vmatrix}
|
88
|
+
{% endmath %}
|
89
|
+
|
90
|
+
```
|
91
|
+
### todo
|
17
92
|
|
93
|
+
Formulas are currently not as configurable as they could be. MathJax has a lot of config options that could be added.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/bin/jsc
ADDED
data/bin/jsc_publish.sh
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
# get publish message to use
|
3
|
+
message=$1
|
4
|
+
if [ -z "$1" ]
|
5
|
+
then #if argument is empty
|
6
|
+
#get the last commit message from this branch and use it as the commit to publish the site
|
7
|
+
message=$(git log -n 1 --format="%s %n %n %b")
|
8
|
+
fi
|
9
|
+
# generate - just to make sure latest changes have been built
|
10
|
+
jekyll build --trace
|
11
|
+
#push the current branch to remote
|
12
|
+
git push
|
13
|
+
# get branch name into $branch -http://git-blame.blogspot.co.uk/2013/06/checking-current-branch-programatically.html
|
14
|
+
branch=$(git symbolic-ref --short -q HEAD)
|
15
|
+
tmp_d="/tmp/jsc"
|
16
|
+
#remove /tmp/jsc
|
17
|
+
rm -rf ${tmp_d}
|
18
|
+
mkdir ${tmp_d}
|
19
|
+
cp -r _site/. ${tmp_d}/
|
20
|
+
#checkout gh-pages
|
21
|
+
git checkout gh-pages
|
22
|
+
current_branch=$(git symbolic-ref --short -q HEAD)
|
23
|
+
if [[ "$current_branch" == *gh-pages* ]]
|
24
|
+
then
|
25
|
+
#copy /tmp/jsc/* to current dir, replacing existing files
|
26
|
+
cp -rv ${tmp_d}/. ./.
|
27
|
+
# commit changes with message from command line or last commit msg
|
28
|
+
git add -u
|
29
|
+
git add .
|
30
|
+
git commit -a -m ${message}
|
31
|
+
# push gh-pages branch
|
32
|
+
git push
|
33
|
+
# checkout $branch
|
34
|
+
git checkout ${branch}
|
35
|
+
else
|
36
|
+
red='\e[0;31m' #red - http://stackoverflow.com/a/5947802/400048
|
37
|
+
NC='\e[0m' # No Color
|
38
|
+
echo -e "${red}Failed to checkout gh-pages branch, site not published!${NC}"
|
39
|
+
fi
|
40
|
+
# remove /tmp/jsc
|
41
|
+
rm -rf ${tmp_d}
|
data/bin/jsc_shell.sh
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
action=$1
|
3
|
+
cur_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
4
|
+
|
5
|
+
if [ -z "$1" ]
|
6
|
+
then #if argument is empty default to publish
|
7
|
+
action="publish"
|
8
|
+
fi
|
9
|
+
shift #effectively get rid of first argument (the action)
|
10
|
+
sh ${cur_dir}/jsc_${action}.sh "$@"
|
Binary file
|
data/jsc.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-scientific
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -63,7 +63,8 @@ description: A group of plugins that make Jekyll sites easier for research publi
|
|
63
63
|
Includes support for LateX formulas and citations
|
64
64
|
email:
|
65
65
|
- jsc@crlog.info
|
66
|
-
executables:
|
66
|
+
executables:
|
67
|
+
- jsc
|
67
68
|
extensions: []
|
68
69
|
extra_rdoc_files: []
|
69
70
|
files:
|
@@ -74,6 +75,9 @@ files:
|
|
74
75
|
- LICENSE
|
75
76
|
- README.md
|
76
77
|
- VERSION
|
78
|
+
- bin/jsc
|
79
|
+
- bin/jsc_publish.sh
|
80
|
+
- bin/jsc_shell.sh
|
77
81
|
- jekyll-scientific-0.0.1.gem
|
78
82
|
- jsc.gemspec
|
79
83
|
- lib/JSCRef.rb
|