4 Commits

Author SHA1 Message Date
dependabot[bot]
b81cdace02 Bump terser from 4.8.0 to 4.8.1
Bumps [terser](https://github.com/terser/terser) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 12:24:07 +00:00
1c8cd1c80c Test Mermaid.js diagrams 2021-02-14 13:14:06 -06:00
260e107f84 Fix live code highlighting; add tests 2021-02-14 13:06:37 -06:00
e8f400aa76 Switch to GitHub Markdown from npm 2021-02-14 12:22:38 -06:00
6 changed files with 63 additions and 19 deletions

View File

@@ -22,6 +22,7 @@ all: $(OUTPUT_FILES)
@rsync -a node_modules/mermaid/dist/mermaid.min.js build/static/lib/ @rsync -a node_modules/mermaid/dist/mermaid.min.js build/static/lib/
@rsync -a node_modules/jquery/dist/jquery.min.js build/static/lib/ @rsync -a node_modules/jquery/dist/jquery.min.js build/static/lib/
@rsync -a node_modules/dropzone/dist/min/dropzone* build/static/lib/ @rsync -a node_modules/dropzone/dist/min/dropzone* build/static/lib/
@rsync -a node_modules/github-markdown-css/*css build/static/lib/
$(GO_OUT): $(GO_IN) $(GO_OUT): $(GO_IN)
cd src/go && go build ${LDFLAGS} -o ../../build/notes cd src/go && go build ${LDFLAGS} -o ../../build/notes
@@ -67,7 +68,7 @@ install-deps:
.PHONY: run .PHONY: run
run: all run: all
cd build && ./notes $(DEFAULT_ARGS) cd build && ./notes $(DEFAULT_ARGS) --data ../data
.PHONY: test .PHONY: test
test: all test: all

File diff suppressed because one or more lines are too long

26
package-lock.json generated
View File

@@ -7,6 +7,7 @@
"dependencies": { "dependencies": {
"@fontsource/roboto": "^4.2.0", "@fontsource/roboto": "^4.2.0",
"dropzone": "^5.7.6", "dropzone": "^5.7.6",
"github-markdown-css": "^4.0.0",
"jquery": "^3.5.0", "jquery": "^3.5.0",
"mathjax": "^3.1.2", "mathjax": "^3.1.2",
"mermaid": "^8.9.0", "mermaid": "^8.9.0",
@@ -395,6 +396,14 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0" "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
} }
}, },
"node_modules/github-markdown-css": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/github-markdown-css/-/github-markdown-css-4.0.0.tgz",
"integrity": "sha512-mH0bcIKv4XAN0mQVokfTdKo2OD5K8WJE9+lbMdM32/q0Ie5tXgVN/2o+zvToRMxSTUuiTRcLg5hzkFfOyBYreg==",
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/graphlib": { "node_modules/graphlib": {
"version": "2.1.8", "version": "2.1.8",
"resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz",
@@ -586,9 +595,9 @@
"integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q=="
}, },
"node_modules/terser": { "node_modules/terser": {
"version": "4.8.0", "version": "4.8.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
"integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
"dependencies": { "dependencies": {
"commander": "^2.20.0", "commander": "^2.20.0",
"source-map": "~0.6.1", "source-map": "~0.6.1",
@@ -985,6 +994,11 @@
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"optional": true "optional": true
}, },
"github-markdown-css": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/github-markdown-css/-/github-markdown-css-4.0.0.tgz",
"integrity": "sha512-mH0bcIKv4XAN0mQVokfTdKo2OD5K8WJE9+lbMdM32/q0Ie5tXgVN/2o+zvToRMxSTUuiTRcLg5hzkFfOyBYreg=="
},
"graphlib": { "graphlib": {
"version": "2.1.8", "version": "2.1.8",
"resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz",
@@ -1146,9 +1160,9 @@
"integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q=="
}, },
"terser": { "terser": {
"version": "4.8.0", "version": "4.8.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
"integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
"requires": { "requires": {
"commander": "^2.20.0", "commander": "^2.20.0",
"source-map": "~0.6.1", "source-map": "~0.6.1",

View File

@@ -2,6 +2,7 @@
"dependencies": { "dependencies": {
"@fontsource/roboto": "^4.2.0", "@fontsource/roboto": "^4.2.0",
"dropzone": "^5.7.6", "dropzone": "^5.7.6",
"github-markdown-css": "^4.0.0",
"jquery": "^3.5.0", "jquery": "^3.5.0",
"mathjax": "^3.1.2", "mathjax": "^3.1.2",
"mermaid": "^8.9.0", "mermaid": "^8.9.0",

View File

@@ -112,6 +112,10 @@ function retagContent() {
window.MathJax.typeset(); window.MathJax.typeset();
} }
// Reapply syntax highlight
hljs.initHighlighting.called = false;
hljs.initHighlighting();
// Re-render Mermaid diagrams // Re-render Mermaid diagrams
mermaid.init(); mermaid.init();
} }

View File

@@ -13,6 +13,8 @@ def browser():
options.add_argument("--headless") options.add_argument("--headless")
options.add_argument("window-size=1920,1080") options.add_argument("window-size=1920,1080")
browser = webdriver.Chrome(options=options) browser = webdriver.Chrome(options=options)
browser.get(INDEX_URL)
assert_no_javascript_errors(browser)
yield browser yield browser
browser.quit() browser.quit()
@@ -32,15 +34,7 @@ def assert_no_javascript_errors(browser):
) )
def test_index_should_redirect_to_edit(browser):
browser.get(INDEX_URL)
assert "/edit" in browser.current_url
def test_should_edit(browser): def test_should_edit(browser):
browser.get(INDEX_URL)
assert_no_javascript_errors(browser)
# Type a new note # Type a new note
user_input = browser.find_element_by_id("userInput") user_input = browser.find_element_by_id("userInput")
user_input.clear() user_input.clear()
@@ -81,9 +75,6 @@ def test_should_edit(browser):
def test_upload(browser): def test_upload(browser):
browser.get(INDEX_URL)
assert_no_javascript_errors(browser)
# Upload a file # Upload a file
upload_file(browser, "readme.txt", "src/python/assets/readme.txt") upload_file(browser, "readme.txt", "src/python/assets/readme.txt")
sleep(1) sleep(1)
@@ -91,3 +82,37 @@ def test_upload(browser):
# Should create a link # Should create a link
browser.find_element_by_link_text("readme.txt") browser.find_element_by_link_text("readme.txt")
def test_code_highlight(browser):
# Type some source code
user_input = browser.find_element_by_id("userInput")
user_input.clear()
user_input.send_keys(
"```python\n"
"def hello_world():\n"
" print('Hello')\n"
"```\n"
)
sleep(1)
assert_no_javascript_errors(browser)
# Should create highlighted elements
browser.find_element_by_css_selector(".hljs-title")
def test_mermaid(browser):
# Draw a diagram
user_input = browser.find_element_by_id("userInput")
user_input.clear()
user_input.send_keys(
'<div class="mermaid">\n'
'graph TD\n'
' hello --> world\n'
'</div>\n'
)
sleep(1)
assert_no_javascript_errors(browser)
# Should create highlighted elements
browser.find_element_by_tag_name("svg")