Skip to content

Commit 8bbbd69

Browse files
committed
Bug fixes for MathJax and added renderElement
1 parent 84b8598 commit 8bbbd69

19 files changed

+271
-504
lines changed

.eslintrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"max-len": [2, 84, 4, { "ignoreUrls": true, "ignorePattern": "\\brequire\\([\"']|eslint-disable", "ignoreComments": true, }],
1818
"no-alert": 2,
1919
"no-array-constructor": 2,
20-
"no-console": 2,
20+
"no-console": 0,
2121
"no-const-assign": 2,
2222
"no-constant-condition": 0,
2323
"no-debugger": 2,

Makefile

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.PHONY: all build clean docs default lint release setup
22

3-
VERSION=2.0.0
3+
VERSION=2.1.0
44

55
# Building tools
66
BROWSERIFY = $(realpath ./node_modules/.bin/browserify)
@@ -15,11 +15,12 @@ UGLIFYJS = $(realpath ./node_modules/.bin/uglifyjs) \
1515
SAMPLES = build/katex-samples.html build/mathjax-v2-samples.html build/mathjax-v3-samples.html
1616

1717

18-
all : clean build docs release
19-
2018
default: build
2119

2220

21+
all : clean build docs release
22+
23+
2324
setup: static/katex/
2425
npm install
2526
@echo "> Node.js packages installed"
@@ -42,20 +43,20 @@ build: build/pseudocode.js build/pseudocode.css $(SAMPLES)
4243

4344
build/pseudocode.js: pseudocode.js $(wildcard src/*.js)
4445
@$(MAKE) --no-print-directory lint
45-
$(BROWSERIFY) $< --exclude katex --standalone pseudocode -o $@
46+
$(BROWSERIFY) $< --exclude mathjax --exclude katex --standalone pseudocode -o $@
4647

4748
lint: pseudocode.js $(wildcard src/*.js)
4849
$(ESLINT) $^
4950

5051
build/pseudocode.css: static/pseudocode.css
5152
cp static/pseudocode.css build/pseudocode.css
5253

53-
build/%-samples.html: static/%-samples.html.template
54-
cp $< $@
54+
build/%-samples.html: static/%.html.part static/body.html.part static/footer.html.part
55+
cat $^ > $@
5556

5657

5758

58-
release: build build/pseudocode-js.tar.gz build/pseudocode-js.zip
59+
release: build docs build/pseudocode-js.tar.gz build/pseudocode-js.zip
5960
@echo "> Release package generated"
6061

6162
RELEASE_DIR=pseudocode.js-$(VERSION)/

README.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# pseudocode.js - Beautiful pseudocode for the Web
1+
# pseudocode.js
22

33
<img align="right" width="40%" src="docs/screenshot.png">
44

@@ -122,11 +122,7 @@ Insert the following Javascript snippet at the end of your document:
122122

123123
```html
124124
<script>
125-
var elem = document.getElementById("quicksort");
126-
var options = {
127-
lineNumber: true
128-
};
129-
pseudocode.render(elem.textContent, elem.parentNode, options);
125+
pseudocode.renderElement(document.getElementById("quicksort"));
130126
</script>
131127
```
132128

@@ -236,8 +232,15 @@ To display the caption of an algorithm, use `algorithm` environment as a 'float'
236232
```
237233

238234
### Options
239-
Function `pseudocode.renderToString` and `pseudocode.renderToString` can accept
240-
an option as the last argument.
235+
`pseudocode.renderElement` can accept an option as the last argument,
236+
such as
237+
238+
```js
239+
pseudocode.renderElement(document.getElementById("quicksort").
240+
{ lineNumber: true });
241+
```
242+
243+
The following options are currently supported:
241244

242245
* `indentSize`: The indent size of inside a control block, e.g. if, for,
243246
etc. The unit must be in 'em'.
@@ -249,7 +252,8 @@ an option as the last argument.
249252
showned.
250253
* `captionCount`: Reset the caption counter to this number.
251254

252-
The values of the options, if not reset specifically, are:
255+
The default values of these options are:
256+
253257
```js
254258
var DEFAULT_OPTIONS = {
255259
indentSize: '1.2em',

docs/index.html

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,24 @@ <h1>
9393
</a>
9494
</p>
9595

96+
<ul>
97+
<li>
98+
<a onclick="load('katex-samples.html')">
99+
<strong>KaTeX</strong> Samples
100+
</a>
101+
</li>
102+
<li>
103+
<a onclick="load('mathjax-v2-samples.html')">
104+
<strong>MathJax 2</strong> Samples
105+
</a>
106+
</li>
107+
<li>
108+
<a onclick="load('mathjax-v3-samples.html')">
109+
<strong>MathJax 3</strong> Samples
110+
</a>
111+
</li>
112+
</ul>
113+
96114
<ul>
97115
<li>
98116
<a href="https://github.com/SaswatPadhi/pseudocode.js/releases">
@@ -110,12 +128,6 @@ <h1>
110128
</a>
111129
</li>
112130
</ul>
113-
114-
<br><br><br>
115-
116-
&raquo; <a onclick="load('katex-samples.html')">View KaTeX Samples</a> <br>
117-
&raquo; <a onclick="load('mathjax-v2-samples.html')">View MathJax 2.0 Samples</a> <br>
118-
&raquo; <a onclick="load('mathjax-v3-samples.html')">View MathJax 3.0 Samples</a> <br>
119131
</header>
120132

121133
<section id='samples' style='display: none; padding-bottom: 0;'>
@@ -221,11 +233,7 @@ <h3>Usage</h3>
221233
</p>
222234

223235
<pre><code class="language-html">&lt;script&gt;
224-
var elem = document.getElementById("hello-world-code");
225-
var options = {
226-
lineNumber: true
227-
};
228-
pseudocode.render(elem.textContent, elem.parentNode, options);
236+
pseudocode.renderElement(document.getElementById("hello-world-code"));
229237
&lt;/script&gt;</code></pre>
230238

231239
<p>

docs/katex-samples.html

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -148,21 +148,21 @@
148148
\end{algorithm}
149149
</pre>
150150
<script>
151-
var basicsEl = document.getElementById("test-basics");
152-
pseudocode.render(basicsEl.textContent, basicsEl.parentNode, {
153-
lineNumber: false,
154-
noEnd: true
155-
});
156-
var codesEl = document.getElementById("test-codes");
157-
pseudocode.render(codesEl.textContent, codesEl.parentNode, {
158-
lineNumber: false,
159-
noEnd: false
160-
});
161-
var examplesEl = document.getElementById("test-examples");
162-
pseudocode.render(examplesEl.textContent, examplesEl.parentNode, {
163-
lineNumber: true,
164-
noEnd: false
165-
});
151+
pseudocode.renderElement(document.getElementById("test-basics"),
152+
{
153+
lineNumber: false,
154+
noEnd: true
155+
});
156+
pseudocode.renderElement(document.getElementById("test-codes"),
157+
{
158+
lineNumber: false,
159+
noEnd: false
160+
});
161+
pseudocode.renderElement(document.getElementById("test-examples"),
162+
{
163+
lineNumber: true,
164+
noEnd: false
165+
});
166166
</script>
167167
</body>
168-
</html>
168+
</html>

docs/mathjax-v2-samples.html

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -158,21 +158,21 @@
158158
\end{algorithm}
159159
</pre>
160160
<script>
161-
var basicsEl = document.getElementById("test-basics");
162-
pseudocode.render(basicsEl.textContent, basicsEl.parentNode, {
163-
lineNumber: false,
164-
noEnd: true
165-
});
166-
var codesEl = document.getElementById("test-codes");
167-
pseudocode.render(codesEl.textContent, codesEl.parentNode, {
168-
lineNumber: false,
169-
noEnd: false
170-
});
171-
var examplesEl = document.getElementById("test-examples");
172-
pseudocode.render(examplesEl.textContent, examplesEl.parentNode, {
173-
lineNumber: true,
174-
noEnd: false
175-
});
161+
pseudocode.renderElement(document.getElementById("test-basics"),
162+
{
163+
lineNumber: false,
164+
noEnd: true
165+
});
166+
pseudocode.renderElement(document.getElementById("test-codes"),
167+
{
168+
lineNumber: false,
169+
noEnd: false
170+
});
171+
pseudocode.renderElement(document.getElementById("test-examples"),
172+
{
173+
lineNumber: true,
174+
noEnd: false
175+
});
176176
</script>
177177
</body>
178-
</html>
178+
</html>

docs/mathjax-v3-samples.html

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -158,21 +158,21 @@
158158
\end{algorithm}
159159
</pre>
160160
<script>
161-
var basicsEl = document.getElementById("test-basics");
162-
pseudocode.render(basicsEl.textContent, basicsEl.parentNode, {
163-
lineNumber: false,
164-
noEnd: true
165-
});
166-
var codesEl = document.getElementById("test-codes");
167-
pseudocode.render(codesEl.textContent, codesEl.parentNode, {
168-
lineNumber: false,
169-
noEnd: false
170-
});
171-
var examplesEl = document.getElementById("test-examples");
172-
pseudocode.render(examplesEl.textContent, examplesEl.parentNode, {
173-
lineNumber: true,
174-
noEnd: false
175-
});
161+
pseudocode.renderElement(document.getElementById("test-basics"),
162+
{
163+
lineNumber: false,
164+
noEnd: true
165+
});
166+
pseudocode.renderElement(document.getElementById("test-codes"),
167+
{
168+
lineNumber: false,
169+
noEnd: false
170+
});
171+
pseudocode.renderElement(document.getElementById("test-examples"),
172+
{
173+
lineNumber: true,
174+
noEnd: false
175+
});
176176
</script>
177177
</body>
178-
</html>
178+
</html>

docs/pseudocode.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/stylesheets/styles.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ header li {
131131
}
132132

133133
header ul a {
134-
line-height:1;
134+
line-height:1.15;
135135
font-size:11px;
136136
color:#999;
137137
display:block;

package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "pseudocode",
3-
"version": "2.0.0",
3+
"version": "2.1.0",
44
"author": {
55
"name": "Saswat Padhi",
66
"email": "saswat.sourav@gmail.com",
@@ -23,5 +23,9 @@
2323
"clean-css-cli": "^4.0.0",
2424
"eslint": "^6.6.0"
2525
},
26+
"optionalDependencies": {
27+
"mathjax": "^2.7.5",
28+
"katex": "^0.8.0"
29+
},
2630
"license": "MIT"
2731
}

0 commit comments

Comments
 (0)