WikiCloth is a Wiki engine to create and edit a web page. It uses the Markdown syntax for plain text and the MathJax LaTeX syntax for the mathematical symbols.
As it operates as a web server, you can view the web pages created by any web browser, and edit a web page while logged in.
You can receive comments on each web page, then upload the files you can see the uploaded files in a Web page.
Each web page can compare the edited contents having changed history.
This project was generated with the Angular Full-Stack Generator version 3.7.6.
- Git
- Node.js and npm: Node v9.3 (prefer
yarn
tonpm
) - Bower
(
npm install --global bower
) - Ruby and then
gem install sass
- Gulp
(
npm install --global gulp
, oryarn global add gulp
ifyarn
installed) - MongoDB : Keep a running daemon with
mongod
-
Run
npm install
(or,yarn install
) to install server dependencies. -
Run
bower install
to install front-end dependencies. -
Run
mongod
in a separate shell to keep an instance of the MongoDB Daemon running -
Run
gulp serve
(or,npm start
,yarn start
) to start the development server. It should automatically open the client in your browser when ready.
For updating
webdriver
forprotractor
,
$ yarn update-webdriver
# Or,
$ npm update-webdriver
For running
gulp serve
:
$ yarn serve
# Or,
$ npm serve
For running
gulp test
:
$ yarn test
# Or,
$ npm test
Change start.sample.sh
to start.sh
and modify it.
Run gulp build
for building, mkdir dist/client/assets/upload
for making upload
directory and sh start.sh
for production mode.
# For building into `dist/` directory:
$ gulp build
# Go to `WikiCloth/dist/` directory and run `production` mode:
$ cd dist/
# To run `npm start` in `production` mode:
WikiCloth/dist$ NODE_ENV=production GOOGLE_ID=[id] GOOGLE_SECRET=[secret] npm start
Copy the
start.sample.sh
bash file tostart.sh
, modify the parameters, change the file mode to execute (chmod a+x start.sh
) and then, run the shell scriptstart.sh
.(prefer
PM2
process manager to others)PM2 - Advanced, production process manager for Node.js
# Install `PM2` globally: $ yarn global add pm2 # Or, use this command: $ sudo npm install -g pm2 $ pm2 --help
Running npm test
will run the unit tests with karma.
Running sudo npm rebuild node-sass
no such file or directory, scandir 'node_modules/node-sass/vendor'
Running sudo npm rebuild optipng
'node_modules/optipng-bin/vendor/optipng' ENOENT
- Login with
Facebook
: https://developers.facebook.com/docs/facebook-login
facebook callbackURL:
"{DOMAIN}:{PORT}/auth/facebook/callback"
- Login with
Twitter
: https://apps.twitter.com
twitter callbackURL:
"{DOMAIN}:{PORT}/auth/twitter/callback"
- Login with
Google
: https://console.developers.google.com
google callbackURL:
"{DOMAIN}:{PORT}/auth/google/callback"
Example for google
console page:
DOMAIN=
'http://localhost'
PORT=9000
google callbackURL: '
http://localhost
:9000
/auth/google/callback'
Those did not be saved to the configuration file("server/config/local.env.js", See "local.env.sample.js") for security reasons.