ZenUML is written in Preact (JavaScript), CSS & HTML. It uses few open-source 3rd party JavaScript libraries for things like splitting panes, syntax highlighting etc.
- Clone the repo
git clone [email protected]:chinchang/web-maker.git
. - Inside the repo, run
yarn
to install the dependencies. - Run
yarn run dev
- Follow all steps as listed above to run the web app.
- Instead of
yarn run dev
, runyarn run build
. This will take some time. - Now go to Chrome extension settings page chrome://extensions/.
- Click on Load unpacked extension button.
- Select the
extension/
folder in the repo. - Done! You'll now have a ZenUML icon added in your browser's right-top area. Click that and you'll run your local copy of ZenUML.
- Before starting any code work, run
yarn
in the repo folder. This is required to install some git hooks which do linting & formatting. - Also, create a new branch out of master branch with the name as
fix-{ISSUE_ID}-anything-more-here
. For example, if you are working on issue #23 regarding implementing a mobile mode, your branch could be calledfix-23-mobile-mode
. - All source files are inside the
src
folder. Once you runyarn run dev
, make code changes insidesrc/
folder and the changes appear automatically in the browser. Except when changes are done instyle.css
, that requires manual refresh in brower. - Once you are done, open a pull request here by selecting right branch: https://github.com/chinchang/web-maker/compare.
- docs/: Online documentation.
- icons/: Icons for Chrome extension.
- app/: Generated public directory for the web app. Should NOT be edited.
- src/*.js: Mostly services/utilities are here. But some miscellaneous files are lying here that need cleanup.
- src/components: Every (well mostly) in ZenUML is a component. Find them here.
- src/lib: 3rd party code that are loaded conditionally in the app and thus are not part of either the final
script.js
orvendor.js
. - src/lib/transpilers: Various transpilers to convert preprocessor code.
- src/assets: Images are kept here.
- src/templates: JSON files for all templates support inside ZenUML.
- src/tests: Tests, right.