Sheogorath
cf934a4e51
Ignore h6 headers
...
h6 headers are used for tags in CodiMD. So we should ignore them for the
ToC generation.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-07-04 11:21:15 +02:00
Sheogorath
4fe0620853
Refactor generation of ToC
...
This replaces the existing iterative implementation of the ToC
generation with an recursive one.
This also solves the problem of skipped headers which causes wrong
leveling of them.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-07-04 02:36:47 +02:00
Sheogorath
734e7b01a5
Remove some unneeded defined inline-stylings
...
These have no really useful point here. Let's just remove them.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-07-03 21:34:57 +02:00
Sheogorath
1de8160008
Fix some night mode colors
...
We have some issues with night mode and the font color. This should fix
this in the permission table and the delete node modal. As well as some
picture styling.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-07-03 21:25:45 +02:00
Sheogorath
2fc4e911fb
Release notes for 1.2.0
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-30 19:19:34 +02:00
Sheogorath
dea62cf310
Update store
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-30 16:52:34 +02:00
Sheogorath
1812b1aaca
Update highlight.js
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-30 16:52:34 +02:00
Sheogorath
b6e1144627
Update to octicon 4.4.0
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-30 16:52:33 +02:00
Sheogorath
1c92524c08
Fix broken unicode urls
...
It wasn't possible to create unicode based URLs in freeurl mode, because
the noteid used for the websocket connection is double escaped. When we
decode it and let socketio-client reencode it, we get the real
shortid/noteid and can find the note in the database and open the
connection.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-26 22:25:36 +02:00
Christoph (Sheogorath) Kern
c7745f6b27
Merge pull request #863 from hackmdio/feature/slidePrint
...
Add Print icon to slide view
2018-06-26 21:41:18 +02:00
Sheogorath
04d16e4d6e
Add Print icon to slide view
...
It redirects the user to the print view of the document. I claim that
people should either be smart enough to use ctrl+P or ask someone who
knows how to print a webpage. I don't want to babysit our users.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-24 23:50:38 +02:00
Sheogorath
2184491f4a
Final replacements
...
Looks like I missed a few. This should be complete now. And make us
ready for the repo rename and merging.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-24 14:13:46 +02:00
Sheogorath
23c33c0c04
Rename HackMD view to CodiMD
...
Even when it looks a bit weird in first place to rename all internals
step by step, it makes sense to do so, because we run into confusion
afterwards.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-24 13:40:18 +02:00
Sheogorath
4b060c7dba
Rebrand HackMD to CodiMD
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-24 13:24:12 +02:00
Sheogorath
0ed4b50098
Move config out of statics path
...
Since static path is providing with a high expiration data, we provide
configs via API. This shouldn't add any noticeable load while making it
uncached and this way working again.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-24 00:07:32 +02:00
Sheogorath
8fe26988d1
Fix all newly introduced linting issues
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-23 21:27:21 +02:00
Sheogorath
49db5bc653
Merge branch 'pr-846'
2018-06-23 21:19:44 +02:00
Sheogorath
f65d96c57b
Fix liniting and optimize some functions
...
First fixed some linting issues. Also optimized some functions to be
undoable with one ctrl+z.
This should also speedup some operations
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-23 21:18:15 +02:00
Jake Burden
b98d10c79a
turn concatenated string into a multi-line template string
...
Signed-off-by: Jake Burden <jake@doge.haus>
2018-06-22 18:08:47 -04:00
Edgar Zanella Alvarenga
a8b664fdb5
Add a toolbar to Codemirror editor
...
Signed-off-by: Edgar Zanella Alvarenga <e@vaz.io>
2018-06-19 16:03:56 +02:00
Sheogorath
ed5353d13a
Move polyfill to CDN section
...
We don't support it on CDN false instances, but it doesn't hurt to keep
it in for CDN-enabled instances
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-18 01:26:11 +02:00
Christoph (Sheogorath) Kern
56d78a7d6c
Merge pull request #830 from SISheogorath/feature/GDPR
...
GDPR compliant part 1
2018-06-17 23:33:57 +02:00
Sheogorath
56182532cb
Add korean translation
...
This translation was contributed via POEditor by the user Basix.
Thanks a lot for your work!
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-07 14:29:01 +02:00
Christoph (Sheogorath) Kern
551840ad57
Merge pull request #784 from pferreir/add-oauth2-support
...
Add "generic" OAuth2 support
2018-06-04 15:54:47 +02:00
Christoph (Sheogorath) Kern
2ed2a08f66
Merge pull request #782 from SISheogorath/feature/showFullTitle
...
Add title attribute in table of contents
2018-06-01 13:49:09 +02:00
liuderchi
334707e932
fix(slide): adjust checkbox size
...
- to override rules in css/github-extract.css with `!important` already
Signed-off-by: liuderchi <liuderchi@gmail.com>
2018-05-31 23:44:03 +08:00
Sheogorath
fce735e833
Add privacy policy example
...
As we use various services and integration we should provide an example
privacy policy.
It has to be adjust when using it to match your setup.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-05-31 11:32:11 +02:00
Sheogorath
75f28ca7f3
Add export data UI
...
This adds the UI for the export feature introduced in
bcbb8c67c9
It allows to download all notes from the main page in the default user
submenu.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-05-26 03:20:44 +02:00
Sheogorath
70df29790a
Add token based security feature
...
In the current setup users could be tricked into deleting their data by
providing a malicious link like `[click me](/me/delete)`. This commit
prevents such an easy attack and need the user's deleteToken to get his
data deleted. In case someone requests his deletion by email you can
also ask him for this token.
We can add a GUI that shows it later on.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-05-25 18:26:06 +02:00
Sheogorath
9fd09a8dfb
Add delete user UI
...
This provides the UI for the delete user feature introduced in
4229084c62
Placing of the user delete button is not perfect, but can be moved to an
own user tab later on.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-05-25 17:11:11 +02:00
Sheogorath
41a36e2e18
Add privacy and ToS links
...
To be GDPR compliant we need to provide privacy statement. These should
be linked on the index page. So as soon as a document exist under
`public/docs/privacy.md` the link will show up.
Since we already add legal links, we also add Terms of Use, which will
show up as soon as `public/docs/terms-of-use.md` exists.
This should allow everyone to provide the legal documents they need for
GDPR and other privacy and business laws.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-05-24 18:10:36 +02:00
Sheogorath
fada8a8103
Add release notes for 1.1.1-ce
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-05-22 23:17:20 +02:00
Sheogorath
ad69c5017b
Removing google drive integration
...
It's sad but it's not working. For multiple releases this should be
already broken which shows how often it's used.
As there is also a security issue related to that, it's better to
remove the feature completely. Whoever wants to rewrite it, feel free to
go.
This commit removes the Google Drive integration from HackMD's Frontend
editor and this way removes the need to provide any API key and Client
ID in the frontend.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-05-16 01:34:55 +02:00
Christoph (Sheogorath) Kern
6d44ded269
Revert "Workaround Google API problems"
2018-05-16 01:31:50 +02:00
Sheogorath
2cc3058a44
Remove Google Upload from UI
...
This temporarily removes the Upload from the UI as it's broken right
now.
Needs a refactoring and can be added in again later on by undoing this
commit.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-05-01 23:22:53 +02:00
Sheogorath
14a0f8594f
Merge branch 'feature/releaseNotes1.1.0'
2018-04-06 16:24:08 +02:00
Sheogorath
f4631b038a
Merge branch 'docs/features-1.1.0-ce'
2018-04-06 16:22:26 +02:00
Sheogorath
23b5e9e54a
Minor fixes in relase notes
...
Fix some spelling and style issues as well as adding the
latest changes.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-04-06 16:19:24 +02:00
Sheogorath
95f46520e3
Add matrix.org / Riot link
...
As an active part of the community prefers Matrix.org over Gitter, we
should link Matrix.org as a place to meet us.
As the matrix and gitter channels are interconnected. We don't loose any
message if a person decides to go for one or another.
We use an more universal way of translation to make it easier to provide
a link to various platforms.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-04-05 11:58:54 +02:00
Christoph (Sheogorath) Kern
5a5b3e9ddd
Merge pull request #790 from SISheogorath/fix/nightModeCSS
...
Fix modal and panel colors in night mode
2018-04-05 01:24:34 +02:00
Sheogorath
b90b215a84
Fix code blocks color in night mode
...
This provides more eye-friendly code boxes when night mode is active.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-04-05 00:58:41 +02:00
Sheogorath
f2f0369259
Provide feature changes in 1.1.0-ce
...
Adding some documentation for night mode and upload times. Extend the
contact section for community support.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-03-30 20:42:55 +02:00
Sheogorath
645f38c228
Update release notes
...
Providing release notes for version 1.1.0-ce
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-03-30 20:38:37 +02:00
Sheogorath
d939de17df
Fix CSP for disqus and Google Analytics
...
This commit should fix existing problems with Disqus and Google
Analytics enabled in the meta-yaml section of a note.
Before this commit they were blocked by the strict CSP. It's still
possible to disable the added directives using `addDisqus` and
`addGoogleAnalytics` in the `csp` config section.
They are enabled by default to prevent breaking changes.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-03-30 16:33:52 +02:00
Sheogorath
291b33880c
Fix modal and panel colors in night mode
...
Night mode provides a generally, dark interface. This fix provides the
needed CSS to also turn modal and panels into night mode design as well.
This mainly effects the help modal.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-03-29 23:23:30 +02:00
Pedro Ferreira
40b3855702
Add support for generic OAuth2 providers
...
Signed-off-by: Pedro Ferreira <pedro.ferreira@cern.ch>
2018-03-26 15:55:39 +02:00
Sheogorath
7681076eb3
Add title attribute in table of contents
...
Right now the full title of an element is may not shown as the space of
the ToC is limited. With this path it'll be shower on hover and this way
provide more useful information.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-03-26 11:20:18 +02:00
Sheogorath
8b69013ebd
Fix night mode button after restore
...
The night mode toggle doesn't get the right state after restore from
local storage. This results in the need to toggle twice to disable night
mode.
This patch adds the needed class so the toggleNightMode function gets
the right state on execution.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-03-25 20:12:02 +02:00
Christoph (Sheogorath) Kern
57c47a65dd
Merge pull request #758 from SISheogorath/cleanup/config
...
Change config to camel case with backwards compatibility
2018-03-25 19:15:17 +02:00
Sheogorath
2411dffa2c
Change config to camel case with backwards compatibility
...
This refactors the configs a bit to now use camel case everywhere.
This change should help to clean up the config interface and make it
better understandable.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-03-25 19:08:14 +02:00
Sheogorath
32c578db08
Persist nightmode so we can re-enable it
...
Right now the night mode is possible to set by a toggle in the menu bar
but needs to be re-enabled on every document switch, reload, etc.. This
is super annoying so we should keep this state in local storage or
a cookie.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-03-23 19:46:38 +01:00
Christoph (Sheogorath) Kern
fa4a8418af
Merge pull request #772 from SISheogorath/fix/chromeFileError
...
Some fixes for inline-Attachments in Codemirror
2018-03-21 14:15:04 +01:00
Christoph (Sheogorath) Kern
f6df2deb84
Merge pull request #743 from hackmdio/fix-to-use-url-safe-base64
...
Fix to use url-safe base64 in note url
2018-03-18 15:13:06 +01:00
Sheogorath
6219962892
Reorganize usage of `getAsFile()`
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-03-18 03:11:28 +01:00
Sheogorath
41bf7cc52f
Fix typo in vedor extension
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-03-18 03:10:37 +01:00
Max Wu
8bfe51940f
Fix typo
...
Signed-off-by: Max Wu <jackymaxj@gmail.com>
2018-03-11 03:00:36 +08:00
Max Wu
dfd833dbe2
Update to show log on migrate LZString type note url in history
...
Signed-off-by: Max Wu <jackymaxj@gmail.com>
2018-03-11 02:55:54 +08:00
Max Wu
d08c9522c0
Update to migrate note url in the history of browser storage and cookie
...
Signed-off-by: Max Wu <jackymaxj@gmail.com>
2018-03-03 16:26:19 +08:00
Max Wu
ea118c2ec8
Update styles of details, summary and figure
...
Signed-off-by: Max Wu <jackymaxj@gmail.com>
2018-02-26 21:05:13 +08:00
Max Wu
95e9f96aa0
Update to allow rp tag for ruby
...
Signed-off-by: Max Wu <jackymaxj@gmail.com>
2018-02-26 20:55:10 +08:00
Max Wu
711a11ce23
Remove manual allow details tag since default already allow it
...
Signed-off-by: Max Wu <jackymaxj@gmail.com>
2018-02-26 20:54:57 +08:00
Sheogorath
5d347d583d
Extend HTML5 support by whitelisting various tags
...
HTML5 provides a wide feature set of useful elements. Since Markdown
usually supports HTML it should be able to use these HTML5 tags as well.
As they were requested by some users and they where checked for being
safe, whitelisting them isn't a problem. To make the experience the same
as on GitHub when it comes to the basic look and feel of the rendered
markdown, some CSS was added to make the summary and the details tag
look like on GitHub.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-02-25 14:54:21 +01:00
Sheogorath
9c77e9d7f0
Allow the usage of the esc-key by codemirror
...
This change allows all input modes of codemirror to use the information
from an input esc-key and make this way vim and sublime more
functional. To prevent this change from breaking the return from the
fullscreen mode, it catches the esc-key in this case. Hopefully this is
an acceptable solution.
As before the vim-mode is handled different in fulltext-mode as it is
esc-key heavy.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-02-24 21:14:47 +01:00
Stefan Bühler
c4f8fb78ee
don't require referer to find note id in socket.io connections ( fixes #623 )
...
Signed-off-by: Stefan Bühler <buehler@cert.uni-stuttgart.de>
2018-02-05 14:26:42 +01:00
Sheogorath
a01b4a843c
Update socket.io to version 2.0.4
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-01-30 19:44:32 +01:00
Christoph (Sheogorath) Kern
adc781f7e3
Merge pull request #704 from SISheogorath/fix/ldapProviderName
...
Fix ldap provider name in template
2018-01-29 15:59:27 +01:00
Wu Cheng-Han
3c473e60a6
Upgrade reveal.js to 3.6.0 and useCDN option for CSS include
2018-01-29 13:09:52 +08:00
Sheogorath
e44751b3f1
Fix ldap provider name in template
...
Before this fix it's impossible to set the provider name in the
sign-model since `ldap` is a boolean there and this way not able
to have an attribute like `ldap.providerName`.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-01-26 10:46:22 +01:00
Christoph (Sheogorath) Kern
e52d7db96c
Merge pull request #694 from SISheogorath/refactor/socialmedia
...
Reorganize social media links and footer
2018-01-25 17:40:11 +01:00
Sheogorath
16892cd827
Reorganize social media links and footer
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-01-24 14:09:36 +01:00
Max Wu
a9c88ce248
Fix task todo might not toggle
...
which caused by not matching syntax with double dashes correctly
2018-01-24 00:10:52 +08:00
Christoph (Sheogorath) Kern
584f1c5249
Merge pull request #691 from SISheogorath/feature/upload
...
Allow more detailed configuration of upload mime types
2018-01-23 12:10:33 +01:00
Christoph (Sheogorath) Kern
7de6e3211f
Merge pull request #598 from xxyy/feature/csp
...
Implement basic CSP support
2018-01-22 20:43:46 +01:00
Christoph (Sheogorath) Kern
5d9a2c3569
Merge pull request #688 from hackmdio/add-ce-text-on-index
...
Add CE text on index title
2018-01-20 18:56:39 +01:00
Christoph (Sheogorath) Kern
b7e227e9d5
Merge pull request #690 from Nebukadneza/add_allow_anonymous_edits
...
Add option to enable `freely` permission in closed instance
2018-01-20 18:56:09 +01:00
Sheogorath
dc10ec60fb
Remove/update contact details
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-01-20 17:40:00 +01:00
Sheogorath
a7935a595a
Allow more detailed configuration of upload mime types
...
Fixes #637
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-01-20 15:16:53 +01:00
Dario Ernst
6ae4b8bf13
Add option to enable `freely` permission in closed instance
...
Before, closed disallowed guest edits completely, by removing
the `freely` permission. This makes it possible to explicitely bring
back guest-editing, but not guest-note-creation, to closed instances.
Signed-off-by: Dario Ernst <dario@kanojo.de>
2018-01-20 15:14:56 +01:00
Max Wu
05cc3a73a2
Update body.ejs
...
Add CE text on index title
2018-01-20 10:12:38 +08:00
Sheogorath
40d1d75704
Release 1.0.1-ce
2018-01-19 14:40:15 +01:00
Christoph (Sheogorath) Kern
d492070d3a
Merge pull request #685 from hackmdio/fixImageAlt
...
Fix image alt not render properly
Fixes #638
2018-01-19 14:26:06 +01:00
Sheogorath
a0fdfccb22
It's 2018! 🎉
2018-01-19 14:08:16 +01:00
Wu Cheng-Han
3703b12584
Fix image alt not render properly
2018-01-19 00:53:49 +08:00
Sheogorath
11a5dd0eb4
Release 1.0.0-ce
2018-01-18 13:03:18 +01:00
Max Wu
919b7467d4
Fix anchor id to keep uppercase characters
...
id shouldn’t be converted to lowercase since id attribute is case sensitive
2018-01-16 15:59:43 +08:00
Edoardo Odorico
6fc2c39eda
✨ Implemented dark theme.
...
Signed-off-by: Edoardo Odorico <edoubuntu@gmail.com>
2018-01-05 00:15:13 +01:00
Peter Dave Hello
76873d3f7e
Fix file permission, remove useless executable
2017-12-14 05:05:18 +08:00
Christoph (Sheogorath) Kern
b840c3fa57
Merge pull request #609 from monoxane/master
...
Correcting grammatical errors related to the document char count tooltip
2017-12-12 10:39:49 +01:00
Christoph (Sheogorath) Kern
0957f5963b
Merge pull request #633 from nakaeeee/saml-auth
...
Support SAML authentication
2017-12-04 18:57:57 +01:00
Thomas De Backer
c60030b205
close open tags
2017-12-01 20:56:39 +01:00
Thomas De Backer
4eef4875ed
Add untranslated sentences to locale
2017-11-30 19:02:40 +01:00
Norihito Nakae
4a4ae9d332
Initial support for SAML authentication
2017-11-28 18:52:24 +09:00
Sheogorath
93b91163cd
Prevent XSS vul by srcdoc in iframe
2017-11-24 10:10:50 +01:00
Literallie
3a752fde51
Revert "Load js-url lib using legacy-loader"
...
Didn't work in Firefox for some reason.
`[Script Loader] ReferenceError: module is not defined`
This reverts commit 5b83deb043
.
2017-11-02 17:57:44 +01:00
Sheogorath
16b3e015ab
Merge pull request #606 from DoubleMalt/feature/MattermostAuth
...
Add Mattermost authentication strategy
2017-10-31 12:11:41 +01:00
Christoph Witzany
5cda55086a
Add mattermost authentication
2017-10-31 10:34:51 +01:00
Sheogorath
ef49b72442
Fix allowpdfexport handling on error page
2017-10-31 01:57:32 +01:00
Sheogorath
e807f1b783
Fix mermaid error handling
2017-10-30 12:26:28 +01:00
Sheogorath
09d2ba41cf
Use mermaidAPI in mermaid scope
...
Introduced by a5b7145527 (diff-67ae90c5144c55348a3cbdb078240454L532)
Fixes #600
Parse only throws error: 167368d508 (diff-67ae90c5144c55348a3cbdb078240454)
2017-10-30 07:11:14 +01:00
Oliver Herrmann
7d0ef1276c
Corrected some grammatical issues
...
Obviously caught up in a bad translation and didn't particularly make sense for native english speakers.
2017-10-30 11:25:44 +11:00
Peter Dave Hello
f896432250
Upgrade mermaid to v7.1.0, fix #600
2017-10-30 00:18:53 +08:00
Sheogorath
abbc43f9b6
Merge pull request #599 from xxyy/fix/inline-styles
...
Externalise some trivial inline styles from slide.ejs
2017-10-27 13:24:26 +02:00
geekyd
d63e6780eb
Adds PDF export via config
2017-10-25 19:19:37 +05:30
Literallie
af935e46fc
Externalise trivial inline styles from slide.ejs
...
Dynamic background images need some further work
2017-10-23 23:39:18 +02:00
Sheogorath
c794412714
Merge pull request #591 from Rwing/master
...
support Simplified Chinese and rename original zh to Traditional Chinese
2017-10-23 11:53:31 +02:00
Rwing
362a7eaf65
support Simplified Chinese and rename original zh to Traditional Chinese
2017-10-23 17:38:04 +08:00
Literallie
567f26f5b9
Fix MathJax config not being picked up
...
thanks standard
2017-10-22 02:48:24 +02:00
Literallie
04f5e3a341
Move CSP logic to new file, Fix boolean config examples
...
Not sure why I was quoting these in the first place
2017-10-22 02:18:45 +02:00
Literallie
5b83deb043
Load js-url lib using legacy-loader
...
Doesn't use eval, plus no window object access
2017-10-22 00:03:45 +02:00
Literallie
4238b9b3ef
Fix MathJax CSP issues
2017-10-22 00:03:45 +02:00
Literallie
080436aebb
CSP: Add nonce to slide view inline JS
2017-10-22 00:03:45 +02:00
Yukai Huang
60b86e0250
Fix markdown-it gist plugin code closing tag
...
fix #596
2017-10-21 11:45:17 +08:00
geekyd
80fb91976e
Hides empty export section
2017-10-18 03:34:45 +05:30
Sheogorath
a16bde70be
Provide table for permissions
...
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2017-10-12 11:05:22 +02:00
geekyd
c6a1b65a91
Adds color to new note button
2017-10-07 23:23:03 +05:30
Wu Cheng-Han
d96385eafd
Fix to filter @import CSS syntax in style tag to prevent XSS [Security Issue]
2017-10-05 10:17:26 +08:00
Wu Cheng-Han
b0b417cefc
Fix unescape > symbol inside the style tags to make the CSS works
2017-10-05 09:59:57 +08:00
Wu Cheng-Han
8979f215ab
Fix blockquote not parse correctly in slide mode
2017-10-05 09:59:07 +08:00
Wu Cheng-Han
2bdccd3996
Fix home and end keys behavior for windows
2017-09-27 21:27:33 +08:00
Wu Cheng-Han
fe384d80bf
Fix the < and > symbols are doubly escaped which affected by executing preventXSS twice
2017-09-27 18:22:49 +08:00
Wu Cheng-Han
f2743ff8f8
Fix slide mode contains unclosed tags might cause XSS [Security Issue]
2017-09-27 18:21:28 +08:00
Wu Cheng-Han
9b00afb863
Fix unclosed tags might cause XSS [Security Issue]
2017-09-27 18:20:04 +08:00
Max Wu
a645f28b33
Fix slide mode might hide scrollbar on some linux
2017-06-14 12:12:28 +08:00
Wu Cheng-Han
c8d3951d32
Add support of Danish locale
2017-06-11 15:52:04 +08:00
Max Wu
ca71028dd7
Merge pull request #476 from butlerx/updated/reveal
...
add more reveal features to slide demo
2017-06-06 23:52:06 +08:00
butlerx
dcaf38b6ce
fix grammer errors
2017-06-05 12:16:21 +01:00
Wu Cheng-Han
48f8378335
Fix speaker note separator regex should only take effect on the line start
2017-06-05 01:20:21 +08:00
butlerx
50153c65c6
add more reveal features to slide demo
2017-06-03 15:40:59 +01:00
Wu Cheng-Han
8f4be63df4
Update yams-metadata doc for slide theme
2017-06-03 13:33:07 +08:00
butlerx
e5834c077f
add the ability to set slide theme in slide options
2017-05-31 23:28:43 +01:00
Max Wu
c37b666915
Merge branch 'master' into BackendRefactor
2017-05-14 17:42:14 +08:00
Max Wu
f85d1d8801
Merge pull request #429 from hackmdio/refactor-part-3
...
Refactor frontend part 3
2017-05-13 19:54:43 +08:00
Wu Cheng-Han
be99350655
Fix to implement toggle of TOC in HTML template
2017-05-09 22:11:57 +08:00
BoHong Li
8c2b00b05a
style: Fixed variable already declared
2017-05-08 19:29:07 +08:00
Yukai Huang
4839838d0c
Manage syncscroll / currentMode in appState
2017-05-07 20:38:22 +08:00
Yukai Huang
0e9afde5fa
Move syncsroll under lib
2017-05-07 20:38:22 +08:00
Yukai Huang
d9221f6011
Remove CodeMirror-other-cursors dom creation
...
Since it’s done via hackmdio/CodeMirror#1
2017-05-07 20:38:22 +08:00
Yukai Huang
88c0c68856
Change more global var to global
2017-05-07 20:38:22 +08:00
Yukai Huang
68ccee20b3
Extract modeType
2017-05-07 20:37:27 +08:00
Yukai Huang
18a6f9063e
Change some global variables to local
2017-05-07 20:37:27 +08:00
Yukai Huang
432f215a45
Fix indentation
2017-05-07 20:37:27 +08:00
Yukai Huang
c6c11c54ef
Expose internal editor config variable
2017-05-07 20:37:27 +08:00
Yukai Huang
db06a51299
Load statusbar template by string-loader
2017-05-07 20:37:26 +08:00
Wu Cheng-Han
e32dd547b4
Update to support code block syntax highlighting of gherkin
2017-05-05 18:03:23 +08:00
Max Wu
38a7c373e7
Fix fb message link might not available for public
2017-04-24 12:52:09 +08:00
Max Wu
450159a462
Merge pull request #427 from PeterDaveHello/fix-indent
...
Fix indent in views, shouldn't mix tabs with spaces
2017-04-18 10:41:58 +08:00
Max Wu
2a5a518e88
Merge pull request #426 from PeterDaveHello/cdnjs-integration
...
Use abcjs on cdnjs
2017-04-18 10:40:51 +08:00
Peter Dave Hello
5f3fe5c62c
Fix indent in views, shouldn't mix tabs with spaces
2017-04-18 05:24:04 +08:00
Peter Dave Hello
08c0a0392c
Use abcjs on cdnjs, cc @jackycute
2017-04-18 05:19:19 +08:00
Peter Dave Hello
7e3e0edb17
Remove executable permission from static files
2017-04-18 05:01:23 +08:00
Wu Cheng-Han
48df250491
Fix link regex should filter protocol with case insensitive flag [Security Issue]
2017-04-11 22:25:14 +08:00
Max Wu
5ecea7e118
Merge pull request #417 from hackmdio/refactor
...
Refactor editor cont.
2017-04-10 11:41:33 +08:00
Ian Dees
3aaf1bbe24
Update body.ejs
2017-04-05 11:07:18 -04:00
Ian Dees
138170704a
Clarify permission language
...
See https://github.com/hackmdio/hackmd/issues/415
2017-04-05 10:16:15 -04:00
Yukai Huang
a938cac42a
Fix indentations
2017-03-28 20:38:31 +08:00
Yukai Huang
b711ecfadb
Drop global variable ui exposing
2017-03-28 19:30:06 +08:00
Yukai Huang
ba1bef015f
Update to es6 module import style
2017-03-28 18:31:36 +08:00
Yukai Huang
7637a6a8a6
Update cm instance in changes event argument
2017-03-28 17:32:42 +08:00
Yukai Huang
f5b95c5d36
Move updateStatusBar method into editor class
2017-03-28 17:16:32 +08:00
Yukai Huang
df743ab902
Fix listener “this” context
2017-03-28 17:11:20 +08:00
Yukai Huang
46ed658d8b
Promisify getStatusBarTemplate method
2017-03-28 15:24:52 +08:00
Yukai Huang
af5ef52f4b
Add cm instance to cursorActivity argument
2017-03-28 12:15:56 +08:00
Yukai Huang
579dda9515
Update focus argument with cm instance
2017-03-28 12:11:05 +08:00
Yukai Huang
d7c068cbfd
Rewrite cursorActivity with multi listener style
...
- adjust function order to prevent standard lint failure
2017-03-28 12:10:35 +08:00
Yukai Huang
b86ecb1342
Extract selection update from updateStatusbar
2017-03-28 11:57:44 +08:00
Yukai Huang
81666a726c
Impl multiple codemirror event listener
2017-03-28 11:18:36 +08:00
Yukai Huang
fff7ebd1b5
Change minor TODO to FIXME
2017-03-28 11:17:30 +08:00
Wu Cheng-Han
b2985085d0
Update to change makefile syntax highlighting to Prism
2017-03-26 23:09:13 +08:00
Wu Cheng-Han
a3cdc5ba80
Update to add abc in support charts of textcomplete
2017-03-26 20:46:05 +08:00
Wu Cheng-Han
961d3fab1c
Fix code style
2017-03-26 20:45:23 +08:00
Wu Cheng-Han
61dc6dbc15
Add support of abcjs
2017-03-26 20:39:07 +08:00
Wu Cheng-Han
3156c38598
Fix text complete of extra tags for list not triggered properly
2017-03-23 20:49:31 +08:00
Wu Cheng-Han
890f7089bf
Fix google drive file picker not initialize properly
2017-03-23 20:17:50 +08:00
Wu Cheng-Han
7e3b74d0da
Mark as 0.5.1
2017-03-23 00:22:44 +08:00
Wu Cheng-Han
e629800457
Fix XSS vulnerability in link regex [Security Issue]
2017-03-22 18:26:35 +08:00
Wu Cheng-Han
0f3b028ed6
Fix render.js code styles
2017-03-22 18:26:30 +08:00
Wu Cheng-Han
cac618eca8
Fix front-end index.js code styles
2017-03-22 17:48:26 +08:00
Wu Cheng-Han
802ed406e6
Fix todo list item class might add in wrong element
2017-03-22 15:42:38 +08:00
Wu Cheng-Han
9ff3649025
Fix unnecessary global calling of ownerui
2017-03-22 15:42:11 +08:00
Wu Cheng-Han
b17c2404b1
Fix duplicated loading of reveal markdown plugin
2017-03-21 20:44:12 +08:00
Wu Cheng-Han
10a7a9b37e
Update to use CDN css for emojify.js when applicable
2017-03-21 00:27:58 +08:00
Wu Cheng-Han
7989b89591
Add support of Catalan locale
2017-03-20 14:52:25 +08:00
Wu Cheng-Han
afc4f269bc
Update to make removeDOMEvents only process once in slide mode
2017-03-20 11:28:50 +08:00
Wu Cheng-Han
448b006194
Update to generate front-end constants on server startup
...
To avoid extra webpacking on changing configs and follow the 12 factor app
2017-03-20 01:39:09 +08:00
Max Wu
f6bd238b0f
Merge pull request #387 from hackmdio/cm-refactor
...
Extract CodeMirror instance
2017-03-14 23:11:56 +08:00
Wu Cheng-Han
f55a4b8497
Update to fix pagination error in list.js over v1.5.0
2017-03-14 23:08:15 +08:00
Wu Cheng-Han
506a381eca
Add config option for gitlab api scope and auto adapt gitlab snippet feature on it
2017-03-14 18:04:23 +08:00
Wu Cheng-Han
2fa51fb4ba
Fix export html to replace fallen cdn tortue.me to cdnjs
2017-03-14 16:37:38 +08:00
Wu Cheng-Han
f491cdabc1
Fix rendering might result XSS attribute on self closing tag [Security Issue]
2017-03-14 16:27:55 +08:00
Yukai Huang
cc30d370f7
Fix variable exporting error
2017-03-13 22:00:20 +08:00
Yukai Huang
93e41f3a40
Merge branch 'master' into cm-refactor
2017-03-13 21:32:50 +08:00
Wu Cheng-Han
edb1b4aa0a
Merge branch 'master' of https://github.com/jackycute/HackMD
2017-03-13 18:56:32 +08:00
Wu Cheng-Han
c818cde782
Update facebook message link in features doc
2017-03-13 18:55:44 +08:00
Yukai Huang
9b513f619f
Use JavaScript standard style
2017-03-09 15:39:42 +08:00
BoHong Li
5bc642d02e
Use JavaScript Standard Style (part 2)
...
Fixed all fail on frontend code.
2017-03-09 02:41:05 +08:00
Yukai Huang
6556c284e5
Extract editor related code
...
- in public/js/lib/editor/index.js
2017-03-08 21:43:32 +08:00
Yukai Huang
121d84863a
Extract UI jquery node
2017-03-07 21:59:18 +08:00
Wu Cheng-Han
0bea4da623
Fix out of sync when deleting on same cursor position on several clients
...
from: https://github.com/aullman/opentok-editor/issues/4
2017-02-18 20:11:57 +08:00
Wu Cheng-Han
0aaa598130
Fix not determine OT have pending operations properly
2017-02-18 20:11:18 +08:00
Wu Cheng-Han
f7149f5a83
Fix to keep selections on save and restore info
2017-02-18 20:10:34 +08:00
Wu Cheng-Han
1ca39d9c8e
Update to allow li tag specify value number
2017-02-17 21:56:35 +08:00
Max Wu
99a2cbc604
Update google drive picker to enable setOwnedByMe to show shared files and folders
2017-02-11 00:11:21 +08:00
Wu Cheng-Han
1a617ddf2e
Fix duplicated headers anchor link not been updated properly
2017-02-03 22:02:12 +08:00
Wu Cheng-Han
7863eec366
Fix "[object HTMLCollection] is not iterable!" error in some browsers
2017-02-03 22:01:30 +08:00
Wu Cheng-Han
0a3baec5b6
Fix missing type declaration in text complete strategy
2017-02-03 21:59:26 +08:00
Max Wu
a261c8e812
Merge pull request #341 from nvsofts/fix_bom_utf8
...
Removed UTF-8 BOM in download function
2017-02-03 18:28:05 +08:00
NV
5a212b9335
Removed UTF-8 BOM in download function
2017-02-03 17:35:49 +09:00
Wu Cheng-Han
e67a6ad368
Fix missing type declaration
2017-02-03 00:07:08 +08:00
Wu Cheng-Han
6c87262bd9
Fix to use minified CDN file source in mermaid
2017-02-02 23:40:55 +08:00
Wu Cheng-Han
d5008b7aeb
Update viz.js and mermaid CDN links
2017-02-02 23:37:20 +08:00
Wu Cheng-Han
3df5507589
Upgrade viz.js to fix manual workaround and get smaller file size
2017-02-02 23:27:34 +08:00
Sheogorath
9ea66e8820
Add documentation for new permissions
2017-01-21 19:18:56 +01:00
Max Wu
6dfc186691
Merge pull request #326 from hackmdio/es6-integration
...
ES6 integration
2017-01-21 14:31:41 +08:00
Wu Cheng-Han
fc00fa7434
Add link to features on profile dropdown
2017-01-21 14:24:51 +08:00
Yukai Huang
0e479111e5
Merge branch 'master' into es6-integration
2017-01-21 14:05:51 +08:00
Wu Cheng-Han
a669c201be
Fix template partial path
2017-01-21 14:04:54 +08:00
Wu Cheng-Han
09a7bcbdef
Refactor templates and rearrange its path
2017-01-21 13:08:29 +08:00
Yukai Huang
74b04d08b5
Merge branch 'master' into es6-integration
2017-01-21 12:55:45 +08:00
Yukai Huang
93d6fe6d7c
Revert useless linebreak
2017-01-21 12:53:29 +08:00
Wu Cheng-Han
5e1d022e13
Add screenshot on index page
2017-01-21 12:52:26 +08:00
Wu Cheng-Han
e98278492e
Fix meta error not clear on before rendering
2017-01-21 12:50:02 +08:00
Yukai Huang
26d8942852
Revert experimental vue for now
2017-01-21 12:30:55 +08:00
Yukai Huang
4bbe035beb
Merge branch 'master' into frontend-next
2017-01-21 12:08:52 +08:00
Wu Cheng-Han
e00daee6c0
Update to prevent all empty link change hash
2017-01-16 12:42:21 +08:00
Wu Cheng-Han
091e7271e0
Fix pagination should hide on refresh history
2017-01-16 12:24:40 +08:00
Wu Cheng-Han
53223b5e2c
Update index layout to add profile on navbar
2017-01-16 12:06:04 +08:00
Wu Cheng-Han
f2ee897699
Fix to prevent hash change on click nav item on index
2017-01-16 12:04:11 +08:00
Wu Cheng-Han
5751578275
Update to remove history pagination animation on refresh
2017-01-15 17:23:33 +08:00
Wu Cheng-Han
f2a441061b
Fix checkLoginStateChanged might fall into infinite loop while calling loginStateChangeEvent
2017-01-15 17:23:19 +08:00
Yukai Huang
c0e8306961
Merge branch 'frontend-next' into t216-refactor-common
2017-01-15 11:33:22 +08:00
Yukai Huang
04292240d6
Minor style update
2017-01-14 15:47:13 +08:00
Yukai Huang
a541569d7e
Remove old config.js.example
2017-01-13 23:12:27 +08:00
Yukai Huang
2408ff4ba9
Add default value for config
2017-01-13 23:12:17 +08:00
Yukai Huang
0fca629c34
Rename common.js to login.js
2017-01-13 23:06:31 +08:00
Yukai Huang
3d6b319216
Merge branch 'master' into frontend-next
2017-01-13 22:53:33 +08:00
Yukai Huang
c2a8911b9c
Move config variable to lib/config
2017-01-13 22:46:38 +08:00
Wu Cheng-Han
86f0b10775
Fix permission dropdown text might out of range in smaller screen
2017-01-13 00:03:29 +08:00
Max Wu
4851098477
Merge pull request #317 from SISheogorath/master+allowEmailRegister
...
Add `allowemailregister` option
2017-01-12 23:37:28 +08:00
Wu Cheng-Han
8b378d7847
Update to use shorter wording in limited and protected permissions
2017-01-12 23:36:23 +08:00
Sheogorath
747629e549
Add `allowemailregister` option
2017-01-12 13:54:45 +01:00
Wu Cheng-Han
5f65795e79
Fix permission order and keep wording consistency
2017-01-12 19:04:17 +08:00
Wu Cheng-Han
ffa14cfeef
Fix sortOnlineUserList might not check property existence before comparsion
2017-01-12 17:17:36 +08:00
Wu Cheng-Han
0432fef267
Fix history list might check pagination on clear and open
2017-01-12 17:14:32 +08:00
Wu Cheng-Han
42d684329f
Workaround text shadow for font antialias might cause cut off in Edge
2017-01-12 17:13:52 +08:00
Max Wu
a8068d38d5
Merge pull request #313 from elct9620/feature/disable_anonymous_view
...
WIP: Add options to limit anonymous view note
2017-01-10 20:23:47 +08:00
蒼時弦也
d6be0cf755
Update limite icon to fa-id-card
2017-01-10 20:22:06 +08:00
蒼時弦也
a9fe43ac3a
Update limited/protected permission icon
2017-01-10 17:22:57 +08:00
蒼時弦也
758607d378
Add fa-stack style to public/js/index.js
2017-01-10 15:15:12 +08:00
蒼時弦也
7b02c48d93
Adjust permission order to more clarly
2017-01-10 14:13:30 +08:00
蒼時弦也
89b8ddeaba
Add limited and protected permission
2017-01-10 10:02:37 +08:00
neopostmodern
ff545b2688
Allow displaying LDAP provider name on sign-in modal
2017-01-09 12:49:23 +01:00
Max Wu
b13635aac9
Merge pull request #279 from alecdwm/ldap-auth
...
Support for LDAP server authentication
2017-01-09 00:49:40 +08:00
Yukai Huang
3566d71aea
Merge branch 'master' into frontend-next
2017-01-07 00:05:15 +08:00
Yukai Huang
fce08cc164
Convert history.js to es6
2017-01-05 20:56:16 +08:00
Yukai Huang
71aece7429
Convert cover.js to es6
2017-01-05 18:10:55 +08:00
Yukai Huang
47d7ff2561
Convert extra.js to es6
2017-01-05 17:52:32 +08:00
Yukai Huang
6a06c0bb9f
Convert common.js to es6
2017-01-05 16:48:23 +08:00
Yukai Huang
45c202172e
Convert pretty.js to es6
2017-01-05 16:19:13 +08:00
Yukai Huang
eb5e7ba0d1
Convert slide.js to es6
2017-01-05 16:17:28 +08:00
Wu Cheng-Han
23a12dd927
Fix for selectionObjects in OT CodeMirror adapter might call on undefined
2017-01-05 00:00:05 +08:00
Wu Cheng-Han
eaf9218f61
Update to show yaml-metadata and diagram parsing error in the view
2017-01-04 23:59:28 +08:00
Wu Cheng-Han
08b04e9528
Workaround that graphviz might not recover from error
2017-01-04 23:59:12 +08:00
Yukai Huang
781f495f3e
Convert synscroll to es6
2017-01-04 23:01:44 +08:00
Yukai Huang
65acaea8cf
Merge branch 'master' into frontend-next
2017-01-02 15:09:19 +08:00
Wu Cheng-Han
ac2b100d35
Add back missing release-note link on index
2017-01-02 12:26:10 +08:00
Wu Cheng-Han
bd4335964d
Mark as 0.5.0
2017-01-02 11:19:01 +08:00
Wu Cheng-Han
d74fea1d10
Update year to 2017
2017-01-02 11:14:25 +08:00
Wu Cheng-Han
db0ea715c6
Update to improve editor performance by debounce checkEditorScrollbar event
2017-01-02 11:06:02 +08:00
Wu Cheng-Han
0db4358adb
Fix authorship might losing update event because of throttling
2017-01-02 11:05:49 +08:00
Wu Cheng-Han
d9e19b6029
Update to remove null byte before saving to DB and remove null byte on changes
2017-01-02 11:05:05 +08:00
Wu Cheng-Han
c904083d1f
Remove manual LZString compression for partial socket io event data
2017-01-02 10:52:47 +08:00
James Stephenson
ec1ae8c6b5
Added Esperanto translation
...
Translation by Jonathan Powell and James Stephenson
2016-12-30 22:02:57 -05:00
Wu Cheng-Han
0c42780a39
Update features.md publish button name and icon
2016-12-24 17:23:04 +08:00
Wu Cheng-Han
aff206ca95
Fix js-url not import correctly
2016-12-24 17:02:03 +08:00
Yukai Huang
99dd107724
Basic setup for Vue app
2016-12-24 11:50:57 +08:00
Yukai Huang
a06fad974e
Install vue and babel dependency
2016-12-24 11:10:18 +08:00
Yukai Huang
d6ae7a36ae
Fix module variable require
2016-12-24 11:09:07 +08:00
Florian Rhiem
fdea226159
Fixed typo: anonmyous
2016-12-21 14:36:54 +01:00
Wu Cheng-Han
11d6b24561
Fix codemirror spell checker not considering abbreviation which contain apostrophe in word
2016-12-20 20:34:20 +08:00
Wu Cheng-Han
418a852cc4
Fix mathjax not able to render issue
2016-12-20 03:05:59 +08:00
Wu Cheng-Han
39521f25a7
Mark as 0.4.6
2016-12-19 17:30:33 +08:00
Wu Cheng-Han
c8d37dd192
Update to handle graphviz output empty graph
2016-12-19 16:53:54 +08:00
Wu Cheng-Han
92f2a4acf0
Remove unused vendor code and add fix related usages
2016-12-19 16:28:59 +08:00
Wu Cheng-Han
276d500406
Upgrade dependencies
2016-12-19 16:20:27 +08:00
Wu Cheng-Han
c6742e50ee
Remove unused vendor code and add missing dependency
2016-12-19 16:13:56 +08:00
Wu Cheng-Han
1892fe70f6
Fix slide mode on print pdf not finish view rendering
2016-12-18 22:53:31 +08:00
Wu Cheng-Han
3eb2159ded
Fix slide print-pdf mode scrollbar might be visible
2016-12-18 22:53:00 +08:00
Wu Cheng-Han
5c7eb48319
Add support of allow anonymous config option with correspond modifications
2016-12-15 14:11:23 +08:00
Wu Cheng-Han
cf8bae32d1
Fix gist-embed styles conflicts
2016-12-15 10:44:46 +08:00
alecdwm
72a0e90f7d
LDAP signin form moved to main signin-modal
...
- previously was a separate modal
- now is located on main modal, like email auth
2016-12-14 12:56:26 +01:00
alecdwm
02e9927714
Initial support for LDAP server authentication
...
Limitations as of this commit:
- tlsOptions can only be specified in config.json, not as env vars
- authentication failures are not yet gracefully handled by the UI
- instead the error message is shown on a blank page (/auth/ldap)
- no email address is associated with the LDAP user's account
- no picture/profile URL is associated with the LDAP user's account
- we might have to generate our own access + refresh tokens,
because we aren't using oauth. The currently generated
tokens are just a placeholder.
- 'LDAP Sign in' needs to be translated to each locale
2016-12-13 22:41:07 +01:00
Wu Cheng-Han
00e284584e
Switch email register and signin button order to make form default action as signin
2016-12-14 03:08:35 +08:00
Wu Cheng-Han
62c703baa1
Fix the generate template not including base url variable
2016-12-12 12:19:12 +08:00
Wu Cheng-Han
46752194e4
Update to make TOC syntax be case-insensitive
2016-12-12 10:49:23 +08:00
Wu Cheng-Han
36aa15f339
Fix reveal fade class conflict with bootstrap tooltip css and scrollbar might show up in print mode
2016-12-12 10:48:57 +08:00
Wu Cheng-Han
ecb956f515
Fix index signin and signout button might not shown if only email enabled
2016-12-07 21:19:06 +08:00
Wu Cheng-Han
dd284a7bd0
Fix textcomplete up side down option not set properly
2016-12-07 01:34:42 +08:00
Wu Cheng-Han
bbaf697687
Fix emoji textcomplete image path
2016-12-07 01:33:38 +08:00
Wu Cheng-Han
4bd5598568
Fix Facebook page link name
2016-12-06 22:15:34 +08:00
Wu Cheng-Han
0ffdb44793
Fix preferences checkbox might not vertical aligned in some browsers
2016-12-04 01:30:20 +08:00