Compare commits
5 Commits
9db54cdbca
...
e76025eb90
| Author | SHA1 | Date | |
|---|---|---|---|
| e76025eb90 | |||
| 9ffcf266da | |||
| 1c8cd1c80c | |||
| 260e107f84 | |||
| e8f400aa76 |
6
Makefile
6
Makefile
@@ -22,6 +22,7 @@ all: $(OUTPUT_FILES)
|
||||
@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/dropzone/dist/min/dropzone* build/static/lib/
|
||||
@rsync -a node_modules/github-markdown-css/*css build/static/lib/
|
||||
|
||||
$(GO_OUT): $(GO_IN)
|
||||
cd src/go && go build ${LDFLAGS} -o ../../build/notes
|
||||
@@ -63,11 +64,14 @@ docker-run:
|
||||
.PHONY: install-deps
|
||||
install-deps:
|
||||
npm install
|
||||
|
||||
.PHONY: install-test-deps
|
||||
install-test-deps:
|
||||
pip install -r src/python/requirements.txt
|
||||
|
||||
.PHONY: run
|
||||
run: all
|
||||
cd build && ./notes $(DEFAULT_ARGS)
|
||||
cd build && ./notes $(DEFAULT_ARGS) --data ../data
|
||||
|
||||
.PHONY: test
|
||||
test: all
|
||||
|
||||
1
lib/github-markdown.css
vendored
1
lib/github-markdown.css
vendored
File diff suppressed because one or more lines are too long
14
package-lock.json
generated
14
package-lock.json
generated
@@ -7,6 +7,7 @@
|
||||
"dependencies": {
|
||||
"@fontsource/roboto": "^4.2.0",
|
||||
"dropzone": "^5.7.6",
|
||||
"github-markdown-css": "^4.0.0",
|
||||
"jquery": "^3.5.0",
|
||||
"mathjax": "^3.1.2",
|
||||
"mermaid": "^8.9.0",
|
||||
@@ -395,6 +396,14 @@
|
||||
"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": {
|
||||
"version": "2.1.8",
|
||||
"resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz",
|
||||
@@ -985,6 +994,11 @@
|
||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
||||
"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": {
|
||||
"version": "2.1.8",
|
||||
"resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz",
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"dependencies": {
|
||||
"@fontsource/roboto": "^4.2.0",
|
||||
"dropzone": "^5.7.6",
|
||||
"github-markdown-css": "^4.0.0",
|
||||
"jquery": "^3.5.0",
|
||||
"mathjax": "^3.1.2",
|
||||
"mermaid": "^8.9.0",
|
||||
|
||||
@@ -27,7 +27,7 @@ func init() {
|
||||
bmPolicy.AllowElements("style")
|
||||
bmPolicy.AllowAttrs("checked", "disabled", "type").OnElements("input")
|
||||
bmPolicy.AllowAttrs("width", "height", "align").OnElements("img")
|
||||
bmPolicy.AllowAttrs("style", "class", "align").OnElements("span", "p", "div", "a")
|
||||
bmPolicy.AllowAttrs("style", "class", "align").OnElements("span", "p", "div", "a", "table", "tr", "td", "th")
|
||||
md = goldmark.New(
|
||||
goldmark.WithExtensions(extension.GFM),
|
||||
goldmark.WithExtensions(mathjax.MathJax),
|
||||
|
||||
@@ -112,6 +112,10 @@ function retagContent() {
|
||||
window.MathJax.typeset();
|
||||
}
|
||||
|
||||
// Reapply syntax highlight
|
||||
hljs.initHighlighting.called = false;
|
||||
hljs.initHighlighting();
|
||||
|
||||
// Re-render Mermaid diagrams
|
||||
mermaid.init();
|
||||
}
|
||||
|
||||
@@ -13,6 +13,8 @@ def browser():
|
||||
options.add_argument("--headless")
|
||||
options.add_argument("window-size=1920,1080")
|
||||
browser = webdriver.Chrome(options=options)
|
||||
browser.get(INDEX_URL)
|
||||
assert_no_javascript_errors(browser)
|
||||
yield browser
|
||||
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):
|
||||
browser.get(INDEX_URL)
|
||||
assert_no_javascript_errors(browser)
|
||||
|
||||
# Type a new note
|
||||
user_input = browser.find_element_by_id("userInput")
|
||||
user_input.clear()
|
||||
@@ -81,9 +75,6 @@ def test_should_edit(browser):
|
||||
|
||||
|
||||
def test_upload(browser):
|
||||
browser.get(INDEX_URL)
|
||||
assert_no_javascript_errors(browser)
|
||||
|
||||
# Upload a file
|
||||
upload_file(browser, "readme.txt", "src/python/assets/readme.txt")
|
||||
sleep(1)
|
||||
@@ -91,3 +82,37 @@ def test_upload(browser):
|
||||
|
||||
# Should create a link
|
||||
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")
|
||||
|
||||
Reference in New Issue
Block a user