jektex 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +11 -1
- data/lib/jektex/jektex.rb +18 -8
- data/lib/jektex/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db3eb57993f08e73ede3ba763410029942df4d4320c9d659c2b28fabd5a49f4e
|
4
|
+
data.tar.gz: fd8756624b5ff039c66d0896c4c0316dfe4be10045ed412d80240ce17f2e98fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6645b4a77ccfd8919db211dca542ef3a98ae1dfc9740c74580d74b62f5e1cbaea9ca07dabe14518c3b2cec2b68cfc3406cb5d1ec3a8c840e86b07302acaf7249
|
7
|
+
data.tar.gz: 04b011d1f6e6a7dccc2de68f159ee74a0bdaf7944c7c39fb5d627942425c6665b98803abb601a696d50c1c6ac738cb629086c5149d1ffb8eec636e7e441c854b
|
data/README.md
CHANGED
@@ -14,6 +14,7 @@ Enjoy comfort of latex and markdown without cluttering your site with bloated ja
|
|
14
14
|
- Marks invalid syntax in document
|
15
15
|
- Prints location of invalid expression during rendering
|
16
16
|
- Tags places within the rendered documents with syntax errors
|
17
|
+
- Highly configurable but still having sensible defaults
|
17
18
|
|
18
19
|
## Usage
|
19
20
|
|
@@ -60,7 +61,16 @@ To clear cached expressions you have to delete `.jektex-cache` directory in your
|
|
60
61
|
project directory.
|
61
62
|
|
62
63
|
**Disabling cache**
|
63
|
-
You can disable caching with `disable_disk_cache = false` in `_config.yml`.
|
64
|
+
You can disable caching with `disable_disk_cache = false` in `_config.yml`. Cache is
|
65
|
+
enabled by default.
|
66
|
+
|
67
|
+
**Setting cache location**
|
68
|
+
By default jektex cache will be saved in `.jekyll-cache` directory. This results in its
|
69
|
+
deletion when you call `jekyll clean`. To prevent cache deletion or you just want to
|
70
|
+
change location of cache from another reason you can achieve that specifying
|
71
|
+
`jektex_cache_dir` in `_config.yml`.
|
72
|
+
|
73
|
+
For example: `jektex_cache_dir: ".jektex-cache"`
|
64
74
|
|
65
75
|
## Installation
|
66
76
|
This plugin is available as a [RubyGem](https://rubygems.org/gems/jektex).
|
data/lib/jektex/jektex.rb
CHANGED
@@ -3,14 +3,14 @@ require 'digest'
|
|
3
3
|
require 'htmlentities'
|
4
4
|
|
5
5
|
|
6
|
-
PATH_TO_JS = __dir__
|
7
|
-
|
6
|
+
PATH_TO_JS = File.join(__dir__, "/katex.min.js")
|
7
|
+
DEFAULT_CACHE_DIR = ".jekyll-cache"
|
8
8
|
CACHE_FILE = "jektex-cache.marshal"
|
9
|
-
PATH_TO_CACHE = CACHE_DIR + CACHE_FILE
|
10
9
|
KATEX = ExecJS.compile(open(PATH_TO_JS).read)
|
11
10
|
PARSE_ERROR_PLACEHOLDER = "<b style='color: red;'>PARSE ERROR</b>"
|
12
11
|
$global_macros = Hash.new
|
13
12
|
$count_newly_generated_expressions = 0
|
13
|
+
$path_to_cache = File.join(DEFAULT_CACHE_DIR, CACHE_FILE)
|
14
14
|
$cache = nil
|
15
15
|
$disable_disk_cache = false
|
16
16
|
|
@@ -51,7 +51,7 @@ def escape_method( type, string, doc_path )
|
|
51
51
|
{displayMode: @display, macros: $global_macros})
|
52
52
|
rescue SystemExit, Interrupt
|
53
53
|
# save cache to disk
|
54
|
-
File.open(
|
54
|
+
File.open($path_to_cache, "w"){|to_file| Marshal.dump($cache, to_file)}
|
55
55
|
# this stops jekyll being immune to interupts and kill command
|
56
56
|
raise
|
57
57
|
rescue Exception => e
|
@@ -80,6 +80,10 @@ Jekyll::Hooks.register :pages, :post_render do |page|
|
|
80
80
|
page.output = convert(page)
|
81
81
|
end
|
82
82
|
|
83
|
+
Jekyll::Hooks.register :documents, :post_render do |doc|
|
84
|
+
doc.output = convert(doc)
|
85
|
+
end
|
86
|
+
|
83
87
|
Jekyll::Hooks.register :site, :after_init do |site|
|
84
88
|
# load macros from config file
|
85
89
|
if site.config["jektex-macros"] != nil
|
@@ -95,13 +99,19 @@ Jekyll::Hooks.register :site, :after_init do |site|
|
|
95
99
|
($global_macros.size == 1 ? "" : "s") + " loaded"
|
96
100
|
end
|
97
101
|
|
102
|
+
# check if cache is disable in config
|
98
103
|
if site.config["disable_disk_cache"] != nil
|
99
104
|
$disable_disk_cache = site.config["disable_disk_cache"]
|
100
105
|
end
|
101
106
|
|
107
|
+
# check if there is defined custom cache location in config
|
108
|
+
if site.config["jektex_cache_dir"] != nil
|
109
|
+
$path_to_cache = File.join(site.config["jektex_cache_dir"].to_s, CACHE_FILE)
|
110
|
+
end
|
111
|
+
|
102
112
|
# load content of cache file if it exists
|
103
|
-
if(File.exist?(
|
104
|
-
$cache = File.open(
|
113
|
+
if(File.exist?($path_to_cache))
|
114
|
+
$cache = File.open($path_to_cache, "r"){|from_file| Marshal.load(from_file)}
|
105
115
|
else
|
106
116
|
$cache = Hash.new
|
107
117
|
end
|
@@ -118,7 +128,7 @@ Jekyll::Hooks.register :site, :post_write do
|
|
118
128
|
# check if caching is enabled
|
119
129
|
if $disable_disk_cache == false
|
120
130
|
# save cache to disk
|
121
|
-
Dir.mkdir(
|
122
|
-
File.open(
|
131
|
+
Dir.mkdir(File.dirname($path_to_cache)) unless File.exists?(File.dirname($path_to_cache))
|
132
|
+
File.open($path_to_cache, "w"){|to_file| Marshal.dump($cache, to_file)}
|
123
133
|
end
|
124
134
|
end
|
data/lib/jektex/version.rb
CHANGED