Commit graph

316 commits

Author SHA1 Message Date
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
562985a115
Update passport-ldap
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-30 16:52:33 +02:00
Sheogorath
f51de7f3bb
Update validator
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-30 16:52:33 +02:00
Sheogorath
fd3733e7d1
Update password-gitlab2
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-30 16:52:33 +02:00
Sheogorath
d8df6e4342
Update minio
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-30 16:52:33 +02:00
Sheogorath
76b2ba4954
Update markdown-pdf
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-30 16:52:33 +02:00
Sheogorath
4b060c7dba
Rebrand HackMD to CodiMD
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-06-24 13:24:12 +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
Ádám Hóka
376fcab2ca Add Azure Blob Storage support
Signed-off-by: Adam Hoka <hoka.adam@nexogen.hu>
2018-06-01 10:07:52 +02:00
Sheogorath
6f8bd8fdc9
Fix missing dependency
To export the notes we need the archiver package that takes care of
creating the zip files.

Looks like I forgot this one in the initial commit.

Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-05-27 15:28:46 +02:00
Sheogorath
a258719d34
Release 1.1.1-ce
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-05-23 12:01:26 +02:00
Sheogorath
bd46230a7f
Add current requirements for node versions
Right now we can only run on node versions below 10.x thanks to scrypt
dependencies.

Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-05-21 23:08:13 +02:00
Sheogorath
af0a6b1d76
Upgrade base64url package
There was recently a possible security problem with base64url. Shouldn't
really hit us but it doesn't hurt.

Details: https://snyk.io/vuln/npm:base64url:20180511

Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-05-17 15:19:24 +02:00
Sheogorath
c4dba48f79
Fix possible file limit errors
As we currently may need higher nofile limits than usual/default on
various systems this commit should probide a fix for that an allow to
build HackMD without highering these limits and increase security.

Inspiration was found in a copy-webpack-plugin-issue[1] and found by
@thegcat[2]. Thanks for that!

Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>

[1]:
https://github.com/webpack-contrib/copy-webpack-plugin/issues/59#issuecomment-228563990
[2]: https://github.com/thegcat
2018-04-16 21:08:34 +02:00
Sheogorath
8a3cec73c1
Add config.json.example to npm test
This commit extends the find command to also match the example config
file.

This should validate the syntax or this file to prevent syntax errors
for future pull request.

Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-04-14 22:20:35 +02:00
Sheogorath
bdb8631a7b
Release 1.1.0-ce
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-04-06 16:24:36 +02: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
David Mehren
7904558292
Remove engine.io-client dependency and fix webpack config
Signed-off-by: David Mehren <dmehren1@gmail.com>
2018-03-06 14:45:14 +01:00
Max Wu
baa0418fb5 Remove and replace all note id compression in LZString with base64url
Signed-off-by: Max Wu <jackymaxj@gmail.com>
2018-02-26 16:43:29 +08:00
Sheogorath
faa839ed3a
Use jq instead of jsonlint
As the jsonlint package from NPM causes problems and looks unmaintained,
it'll be replaced with `jq` a well maintained project which allows to
search through JSON files in a `grep`-like style, but knowing the JSON
structure.

Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-02-19 19:50:01 +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
Dario Ernst
9e0359e079 Add simple user-management tool for emailsignin …
Currently, administrators of closed instances need to manually fiddle in
their databases for user-management.
This commit adds a small commandline utility that allows to create and
delete users.

Signed-off-by: Dario Ernst <dario@kanojo.de>
2018-01-29 19:49:04 +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
Christoph (Sheogorath) Kern
eec2318bda
Merge pull request #506 from erasys/minio
Add support for minio
2018-01-23 11:43:24 +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
Sheogorath
40d1d75704
Release 1.0.1-ce 2018-01-19 14:40:15 +01:00
Sheogorath
11a5dd0eb4
Release 1.0.0-ce 2018-01-18 13:03:18 +01:00
Max Wu
1b7d621fd1
Merge pull request #578 from hackmdio/licenseChangeAgreement
License Change Agreement
2017-12-07 06:54:12 +08:00
Norihito Nakae
4a4ae9d332 Initial support for SAML authentication 2017-11-28 18:52:24 +09: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
Christoph Witzany
5cda55086a Add mattermost authentication 2017-10-31 10:34:51 +01:00
Peter Dave Hello
f896432250 Upgrade mermaid to v7.1.0, fix #600 2017-10-30 00:18:53 +08:00
Sheogorath
94021e2d34 Merge pull request #574 from PeterDaveHello/README.md-Table-of-Contents
Add "Table of Contents" in README.md
2017-10-27 11:51:50 +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
080436aebb
CSP: Add nonce to slide view inline JS 2017-10-22 00:03:45 +02:00
Peter Dave Hello
f70d2df1be Add jsonlint script to ensure all json files are valid 2017-10-14 00:19:32 +08:00
Peter Dave Hello
0864b06e0c Integrate npm package "doctoc" to update README.md 2017-10-13 16:21:25 +08:00
Wu Cheng-Han
bee5e2a558 Update license field in package.json 2017-10-13 01:56:13 +08:00
Marc Deop
2c780f53df
Add support for minio 2017-08-30 18:58:34 +02:00
Bryan Davis
723c9d79b6 Use git URLs in package.json
Using the "github:..." form to declare a dependency in package.json
makes npm attempt to install the package using an ssh clone rather than
an https clone. Some deployment environments may not allow ssh access
to external servers which will prevent the clones from succeeding. Using
the "git+https://..." form will clone the same repo from GitHub without
requiring ssh connectivity.
2017-07-01 15:41:56 -06:00
Sheogorath
8acceb28ed
Use non-zero exit codes when build fails 2017-06-03 18:22:37 +02:00
Max Wu
c37b666915 Merge branch 'master' into BackendRefactor 2017-05-14 17:42:14 +08:00
BoHong Li
ecb0533605 refactor(config.js): Extract config file
* Separate different config source to each files
* Freeze config object
2017-05-08 19:29:07 +08:00
Yukai Huang
db06a51299 Load statusbar template by string-loader 2017-05-07 20:37:26 +08:00
Wu Cheng-Han
1d51fdaa7c chore(build): Upgrade uws to 0.14.1, other npm version have been removed 2017-03-29 12:43:03 +08:00
Wu Cheng-Han
1c6f5d272f style: Fix missing newline in variables 2017-03-29 12:41:23 +08:00
Wu Cheng-Han
7e3b74d0da Mark as 0.5.1 2017-03-23 00:22:44 +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
Yukai Huang
24f1413654 Add inlineAttachment to global 2017-03-13 22:00:29 +08:00
Yukai Huang
b4424419c0 Add standarjs globals 2017-03-13 21:42:09 +08:00
BoHong Li
6cf06837f8 Remove eslint
1. Remove eslint , bacause we use JavaScript Standard Style.
2. Add lts/boron version to travis CI, web use it in docker version

Signed-off-by: BoHong Li <a60814billy@gmail.com>
2017-03-13 02:23:58 +08:00
BoHong Li
4889e9732d Use JavaScript Standard Style
Introduce JavaScript Standard Style as project style rule,
and fixed all fail on backend code.
2017-03-08 18:45:51 +08:00
bananaappletw
40dfffd4f4 Using package.json to test lint instead
Exclude *.min.js from eslint
2017-02-16 13:05:46 +08:00
bananaappletw
af783b2746 Update node dependency up to 6.x in package.json 2017-02-15 19:17:51 +08:00
bananaappletw
4198d0d560 Add travis ci 2017-02-15 19:11:53 +08:00
Wu Cheng-Han
15bf2b6da8 Update webpack config to use parallel uglify plugin to speed up production build 2017-02-03 22:05:09 +08:00
Wu Cheng-Han
5ce5d4cd84 Update to use babel-polyfill to support ES6 features in old browsers 2017-02-03 22:04:43 +08:00
Wu Cheng-Han
4dbafe62a3 Upgrade mermaid to support class diagram 2017-02-02 23:28:05 +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
Yukai Huang
26d8942852 Revert experimental vue for now 2017-01-21 12:30:55 +08:00
Yukai Huang
3d6b319216 Merge branch 'master' into frontend-next 2017-01-13 22:53:33 +08: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
alecdwm
b044c2ae19 Use randomcolor not seedrandom for avatar backgrounds 2017-01-06 07:08:07 +01:00
alecdwm
01361afa7a Profile pictures for LDAP users 2017-01-06 05:37:40 +01:00
bananaappletw
78c51e5e88 Revert "Rename npm script"
This reverts commit ed83dfc862.
2017-01-04 14:30:47 +08:00
Yukai Huang
65acaea8cf Merge branch 'master' into frontend-next 2017-01-02 15:09:19 +08:00
Wu Cheng-Han
bd4335964d Mark as 0.5.0 2017-01-02 11:19:01 +08:00
Wu Cheng-Han
6ac1df5965 Update dependencies 2017-01-02 11:17:23 +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
Wu Cheng-Han
39521f25a7 Mark as 0.4.6 2016-12-19 17:30:33 +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
59725e9390 Remove unused dependencies 2016-12-18 22:54:00 +08: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
Yukai Huang
9e6fd505e1 Remove bower occurences 2016-12-11 11:18:08 +08:00
Yukai Huang
ed83dfc862 Rename npm script
webpack scripts are meant to “build” assets, so place them under the same namespace

* dev => build:dev
* build => build:prod
2016-12-10 22:12:07 +08:00
Yukai Huang
65a1a62cc0 Drop nodemon dependency
Sometimes nodemon not reload source code correctly, so simply drop it.
2016-12-10 22:09:50 +08:00
Wu Cheng-Han
5958654ea4 Remove preprocess image on upload image or it will losing support of image some formats 2016-12-03 14:37:12 +08:00
Wu Cheng-Han
840cac7435 Add delay to throttle nodemon in dev script 2016-12-02 02:24:12 +08:00
Wu Cheng-Han
a73d9ce39e Update to support optional email register and signin 2016-12-02 01:58:14 +08:00
Wu Cheng-Han
b081302f3d Remove webpack shell plugin for webpack because it've been solved in another way 2016-11-28 03:19:15 +08:00
Wu Cheng-Han
9f79ed929e Update to move custom CodeMirror codebase to our own repo and update webpack build config 2016-11-28 01:36:48 +08:00
Max Wu
bd3d4958e4 Merge pull request #248 from hackmdio/file-upload-options
Support other options for image uploading
2016-11-27 10:54:00 +08:00
Wu Cheng-Han
5287d46931 Optimize hackmd resource packing and load orders 2016-11-26 23:18:51 +08:00
Wu Cheng-Han
3fbfdb7db8 Optimize index page resources packing and loads 2016-11-26 23:13:02 +08:00
Wu Cheng-Han
9383df59c9 Update socket.io to 1.6.0 2016-11-26 22:40:50 +08:00
Wu Cheng-Han
f387bb312f Try to replace engine.io to uws in socket.io for better performance 2016-11-18 12:18:29 +08:00
Yukai Huang
2279986f97 Config sharp image preprocessing 2016-11-16 17:07:00 +08:00
Yukai Huang
518a4a120b upload image to s3 2016-11-16 12:05:24 +08:00
Yukai Huang
a04c6ef127 Install nodemon for local development 2016-11-14 16:44:12 +08:00
Yukai Huang
689b1dc4d6 Add optimize-css webpack plugin 2016-11-03 13:59:25 +08:00
Max Wu
7e05976a93 Revert "html minify in production environment" 2016-10-24 00:00:05 +08:00
Peter Dave Hello
731375c220 html minify in production environment 2016-10-23 23:31:04 +08:00
Wu Cheng-Han
7e8d1f22b1 Fix missing dependency in d44e830366 2016-10-18 21:41:06 +08:00
Wu Cheng-Han
d44e830366 Update emoji parser using markdown-it-emoji instead of emojify to solve issue #217 2016-10-18 16:50:58 +08:00
Yukai Huang
9f63581c61 Config heroku deployment 2016-10-16 11:20:29 +08:00
Yukai Huang
4c1109b70b Move gist-embed to CDN 2016-10-14 09:56:19 +08:00
Yukai Huang
142b4c6771 Move highlight.js to CDN 2016-10-14 09:21:41 +08:00
Yukai Huang
83be3465cc Fix scrollspy 2016-10-13 13:59:34 +08:00
Yukai Huang
2cafe15e85 Enable production assets hash 2016-10-12 17:15:59 +08:00
Yukai Huang
91266f1cad Load more scripts using webpack 2016-10-12 17:03:47 +08:00
Yukai Huang
02eef3f68a Load customized vendor script through script-loader 2016-10-12 13:18:29 +08:00
Yukai Huang
2e929879ad Fix engine.io-client webpack load dependency 2016-10-12 12:57:16 +08:00
Yukai Huang
6e651c8108 Merge branch 'master' into webpack-frontend 2016-10-11 18:40:23 +08:00
Yukai Huang
f9e7f482d3 Setup webpack production config 2016-10-11 15:45:00 +08:00
Yukai Huang
06437ccaa9 Manage more packages with npm and webpack 2016-10-11 14:52:45 +08:00
Yukai Huang
3368b57b89 Remove ot from package.json 2016-10-11 14:09:40 +08:00
Yukai Huang
9c8752d452 Split common vendor javascript into chunks 2016-10-11 12:30:30 +08:00
Wu Cheng-Han
9a15cad42d Mark as 0.4.5 2016-10-11 11:01:05 +08:00
Wu Cheng-Han
fb5d7e4359 Update npm and bower dependencies with related patch 2016-10-10 21:14:28 +08:00
Wu Cheng-Han
138aa876f4 Remove unused npm dependency 2016-10-10 21:05:33 +08:00
Yukai Huang
e10203b7e9 More function expose workaround for reveal-markdown.js 2016-10-10 08:24:58 +08:00
Yukai Huang
a258897884 Revert some bower assets 2016-10-09 21:43:41 +08:00
Yukai Huang
3e2905be13 Revert to customized codemirror 2016-10-09 17:54:51 +08:00
Yukai Huang
8e2b03cfd6 Config bootstrap with webpack 2016-10-08 23:04:19 +08:00
Yukai Huang
963a435ae1 Resolve dependency module requiring
* es5 style module exports
* remove script tag require
* webpack config ProvidePlugin

Note that this commit only fix JavaScript module loading runtime error.
2016-10-08 20:02:30 +08:00
Yukai Huang
ebee5a8d05 Use xss in script tag 2016-10-08 19:57:50 +08:00
Yukai Huang
ab21311161 Change npm task 'build' to 'dev' 2016-10-08 10:16:49 +08:00
Yukai Huang
b8467a562c Remove Idle.Js dependency
use vendor minified js for now
2016-10-08 10:07:12 +08:00
Yukai Huang
325d1f1a32 Create webpack config 2016-10-08 08:13:40 +08:00
Wu Cheng-Han
b9c59c454d Add support of i18n with related patches and support "en" and "zh" locales for now 2016-08-19 11:49:24 +08:00
Wu Cheng-Han
f35aa94b41 Mark as 0.4.4 2016-08-02 17:17:33 +08:00
Wu Cheng-Han
b6ca8649af Update npm dependencies 2016-07-30 12:23:40 +08:00
Wu Cheng-Han
045c08447f Update to use own package of google-diff-match-patch to solve encodeURI exception issue 2016-07-30 11:12:28 +08:00
Wu Cheng-Han
2b5c7365ab Change npm imgur package to self owned repo in order to fix some exception 2016-07-13 10:42:32 +08:00
Wu Cheng-Han
458d07dde7 Update to change server-side pre-rendering engine from marked to markdown-it 2016-07-02 16:11:06 +08:00
Wu Cheng-Han
d7d83c102b Mark as 0.4.3 2016-06-28 09:38:31 +08:00
Cheng-Han, Wu
6fddab1bfc Update npm dependencies 2016-06-17 16:32:05 +08:00
Cheng-Han, Wu
dbc126b156 Add support of saving note revision and improve app start and stop procedure to ensure data integrity 2016-06-17 16:09:33 +08:00
Cheng-Han, Wu
c439797efd Mark as 0.4.2 2016-06-01 20:44:19 +08:00
Cheng-Han, Wu
16990e35a2 Update slide template using ejs instead of mustache to reduce similar package dependency 2016-05-29 17:54:24 +08:00
Cheng-Han, Wu
e52937df50 Update project infos, reclaim authors and add authors list 2016-05-28 01:49:15 +08:00
Cheng-Han, Wu
6405bb5056 Add support of google signin 2016-05-21 22:48:00 +08:00
Cheng-Han, Wu
baa946968d Add db migrations for PR #121 2016-05-15 12:20:42 +08:00
Jason Croft
a3876dfc92 Start extending to support GitLab authentication.
Add necessary dependency.
Add baseURL parameter for self-hosted GitLab
Add necessary require.
Add block for GitLab auth.
Fix typo
Update font-awesome dependency for GitLab icon.
Use a color closer to GitLab orange.
More direct TODO
2016-05-11 21:02:53 -04:00
Cheng-Han, Wu
197ac5d5fb Mark as 0.4.0 2016-04-20 18:23:56 +08:00
Cheng-Han, Wu
f13f70696a Update package dependencies 2016-04-20 18:15:48 +08:00
Cheng-Han, Wu
49b51e478f Refactor server with Sequelize ORM, refactor server configs, now will show note status (created or updated) and support docs (note alias) 2016-04-20 18:03:55 +08:00
Cheng-Han, Wu
61084e5a4e Updated dependencies 2016-03-15 11:14:00 +08:00
Cheng-Han, Wu
d69d65ea74 Updated to send hsts in https header 2016-03-15 10:41:49 +08:00
Cheng-Han, Wu
4c4a0e0f3f Fixed prevent XSS might break lots of tags and only need after rendered 2016-02-11 03:45:13 -06:00
Cheng-Han, Wu
6700f033ab Prevent XSS in markdown rendering 2016-02-11 02:36:52 -06:00
Cheng-Han, Wu
7305984676 Updated engine requirement because connect-mongo package 2016-02-07 21:56:54 -06:00
Cheng-Han, Wu
ff2fc76491 Supported export to gist 2016-01-31 15:42:26 -06:00
Wu Cheng-Han
1b2a3108be Marked as 0.3.4 2016-01-19 10:06:22 -06:00
Wu Cheng-Han
96931e6e3a Upgrade all dependencies and fixes afterward issues 2016-01-19 09:57:58 -06:00
Wu Cheng-Han
2ecec3b59a Support show last change user with profile and support YAML config inside the note with robots, lang, dir, breaks options 2016-01-12 08:01:42 -06:00
Wu Cheng-Han
a6d1bddf47 Updated other packages to lastest versions 2015-12-15 15:01:13 -06:00
greenkeeperio-bot
e9718d35ac chore(package): update dependencies
http://greenkeeper.io/
2015-12-15 10:38:34 -06:00
Wu Cheng-Han
a0b1321ad2 Updated imgur package version from "0.1.5" to "0.1.7" 2015-12-12 14:19:22 -06:00
jackycute
a4d0c56396 Merge pull request #47 from PeterDaveHello/patch-2
Update package.json
2015-12-08 20:48:26 -06:00
Peter Dave Hello
fc687b37cb Update package.json
Bump dependency marked to ^0.3.5

Reference(security issue):

https://nodesecurity.io/advisories/marked_regular-expression-denial-of-service
2015-12-09 08:41:06 +08:00
Peter Dave Hello
d635440f27 Update package.json
Change required dependency - express from "4.x" to ">=4.5"

Reference(security issue):

https://nodesecurity.io/advisories/express_no-charset-in-content-type-header
2015-12-09 08:39:37 +08:00
Wu Cheng-Han
fa5485c185 Updated npm cookie package version to 0.2.3 2015-11-29 02:11:57 -06:00
Wu Cheng-Han
a8123b6306 Fixed connect-mongo have peer dependencies 2015-11-29 00:23:19 -06:00
xnum
f51b7370f0 Add Slide Mode
using reveal.js
and some part of reveal-md
2015-11-23 20:38:26 +08:00
Fabien Meghazi
872983e653 Updated pinned version of cookie-parser [Fixes #21] 2015-11-12 10:55:42 +01:00
Wu Cheng-Han
4e0f157739 Updated passport and its plugins' version 2015-11-10 11:34:54 +08:00
Wu Cheng-Han
bc1f59af65 Marked as 0.3.3 2015-09-27 14:36:08 +08:00
Wu Cheng-Han
bb9deef077 Marked as 0.3.2 2015-07-11 12:52:04 +08:00
Wu Cheng-Han
10c9811fc5 Jump to 0.3.1 2015-07-02 00:10:20 +08:00
Wu Cheng-Han
f7f8c901f4 Marked as 0.2.9 2015-06-01 18:04:25 +08:00
Wu Cheng-Han
4e64583a0b Marked as 0.2.8 2015-05-15 12:58:13 +08:00
Wu Cheng-Han
4b0ca55eb7 First commit, version 0.2.7 2015-05-04 15:53:29 +08:00