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
yarntonpm) - Bower
(
npm install --global bower) - Ruby and then
gem install sass - Gulp
(
npm install --global gulp, oryarn global add gulpifyarninstalled) - MongoDB : Keep a running daemon with
mongod
-
Run
npm install(or,yarn install) to install server dependencies. -
Run
bower installto install front-end dependencies. -
Run
mongodin 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
webdriverforprotractor,
$ 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.shbash 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
PM2process 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=9000google 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.