From 55572b97f7d0392e17465edd406e333cabfb8485 Mon Sep 17 00:00:00 2001 From: ong6 Date: Sun, 29 Aug 2021 16:46:05 +0800 Subject: [PATCH 01/23] Pulled from Master --- package-lock.json | 58 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 372188d663..ec52776ad5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1930,6 +1930,7 @@ "jest-resolve": "^26.6.2", "jest-util": "^26.6.2", "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", "slash": "^3.0.0", "source-map": "^0.6.0", "string-length": "^4.0.1", @@ -2548,6 +2549,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -2632,6 +2636,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -2664,6 +2671,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -2804,6 +2814,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -2916,6 +2929,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -2978,6 +2994,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -3188,6 +3207,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -3240,6 +3262,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -3402,6 +3427,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -3511,6 +3539,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -3591,6 +3622,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -3714,6 +3748,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -3764,6 +3801,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -4469,6 +4509,7 @@ "merge-source-map": "^1.1.0", "postcss": "^7.0.14", "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", "source-map": "~0.6.1", "vue-template-es2015-compiler": "^1.9.0" }, @@ -6333,6 +6374,7 @@ "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -8628,7 +8670,8 @@ "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2", - "optionator": "^0.8.1" + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "bin": { "escodegen": "bin/escodegen.js", @@ -10739,6 +10782,9 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -11284,6 +11330,7 @@ "minimist": "^1.2.5", "neo-async": "^2.6.0", "source-map": "^0.6.1", + "uglify-js": "^3.1.4", "wordwrap": "^1.0.0" }, "bin": { @@ -13270,6 +13317,7 @@ "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", "graceful-fs": "^4.2.4", "jest-regex-util": "^26.0.0", "jest-serializer": "^26.6.2", @@ -14465,6 +14513,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dependencies": { + "graceful-fs": "^4.1.6", "universalify": "^2.0.0" }, "optionalDependencies": { @@ -14686,6 +14735,7 @@ "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", + "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", @@ -16657,6 +16707,7 @@ "dependencies": { "a-sync-waterfall": "^1.0.0", "asap": "^2.0.3", + "chokidar": "^3.3.0", "commander": "^5.1.0" }, "bin": { @@ -23102,8 +23153,10 @@ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dependencies": { + "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" }, "optionalDependencies": { "chokidar": "^3.4.1", @@ -23160,6 +23213,7 @@ "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", + "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", From 34d8944898031d77170eb128d8a19beafc98ecd8 Mon Sep 17 00:00:00 2001 From: ong6 Date: Thu, 24 Feb 2022 16:33:22 +0800 Subject: [PATCH 02/23] added Q and A sections to help new devs --- docs/devGuide/settingUp.md | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 359fe534e6..134672a66e 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -35,14 +35,24 @@ We recommend the **WebStorm IDE** for working with MarkBind code. 1. **Fork and clone** the MarkBind repo. 1. **To bind your cloned version of MarkBind to your console** (instead of the released version of MarkBind), run `npm link` in the `packages/cli` folder of the cloned repo first. - - - - To go back to the released version of MarkBind, run `npm un -g markbind-cli`, followed by `npm i -g markbind-cli` - 1. **Install dependencies** by running `npm run setup` in the **root folder** of your cloned repo. - - MarkBind uses [lerna](https://github.com/lerna/lerna), a popular multi-package development tool, to manage it's dependencies. It is essentially a high level wrapper over node and npm's functionalities - 1. **Congratulations!** Now you ready to start modifying MarkBind code. + +### Common setup questions + +1. Does Markbind work with all operating systems? + + Yes! We support all operating systems. However, windows 11 users might have to run `npm install` after the `npm run setup` as some packages may have incompatible versions. + +1. How does Markbind manage dependencies? + + MarkBind uses [lerna](https://github.com/lerna/lerna), a popular multi-package development tool, to manage it's dependencies. It is essentially a high level wrapper over node and npm's functionalities + +1. How do I move back to the released version of Markbind? + + To go back to the released version of MarkBind, run `npm run -g markbind-cli`, followed by `npm i -g markbind-cli`. + +1. Some of my front-end components are not working as expected. + + Try running `npm run build:web` to rebuild the front-end components as these changes are only made when a new version of Markbind is released. From 92ba2df35bdff2de03266d47bda4f40a08dce678 Mon Sep 17 00:00:00 2001 From: Junx Date: Thu, 24 Feb 2022 21:53:42 +0800 Subject: [PATCH 03/23] Update docs/devGuide/settingUp.md Co-authored-by: Liu YongLiang <41845017+tlylt@users.noreply.github.com> --- docs/devGuide/settingUp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 134672a66e..5a1c8df916 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -41,7 +41,7 @@ We recommend the **WebStorm IDE** for working with MarkBind code. ### Common setup questions -1. Does Markbind work with all operating systems? +1. Does MarkBind work with all operating systems? Yes! We support all operating systems. However, windows 11 users might have to run `npm install` after the `npm run setup` as some packages may have incompatible versions. From 8481813c091f0a365e4b61375f78d0d88f52697a Mon Sep 17 00:00:00 2001 From: Junx Date: Thu, 24 Feb 2022 21:53:46 +0800 Subject: [PATCH 04/23] Update docs/devGuide/settingUp.md Co-authored-by: Liu YongLiang <41845017+tlylt@users.noreply.github.com> --- docs/devGuide/settingUp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 5a1c8df916..9ff0c6e7a1 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -49,7 +49,7 @@ We recommend the **WebStorm IDE** for working with MarkBind code. MarkBind uses [lerna](https://github.com/lerna/lerna), a popular multi-package development tool, to manage it's dependencies. It is essentially a high level wrapper over node and npm's functionalities -1. How do I move back to the released version of Markbind? +1. How do I move back to the released version of MarkBind? To go back to the released version of MarkBind, run `npm run -g markbind-cli`, followed by `npm i -g markbind-cli`. From 6b24e26c61c91fc564a676609b8227a3f6e816b2 Mon Sep 17 00:00:00 2001 From: Junx Date: Thu, 24 Feb 2022 21:53:51 +0800 Subject: [PATCH 05/23] Update docs/devGuide/settingUp.md Co-authored-by: Liu YongLiang <41845017+tlylt@users.noreply.github.com> --- docs/devGuide/settingUp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 9ff0c6e7a1..0125cbbdec 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -55,4 +55,4 @@ We recommend the **WebStorm IDE** for working with MarkBind code. 1. Some of my front-end components are not working as expected. - Try running `npm run build:web` to rebuild the front-end components as these changes are only made when a new version of Markbind is released. + Try running `npm run build:web` to rebuild the front-end components as these changes are only made when a new version of MarkBind is released. From 10fabf7182854aa23b2f266b8a0f1cc7fa450274 Mon Sep 17 00:00:00 2001 From: Junx Date: Thu, 24 Feb 2022 21:54:00 +0800 Subject: [PATCH 06/23] Update docs/devGuide/settingUp.md Co-authored-by: Liu YongLiang <41845017+tlylt@users.noreply.github.com> --- docs/devGuide/settingUp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 0125cbbdec..624e513b1d 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -47,7 +47,7 @@ We recommend the **WebStorm IDE** for working with MarkBind code. 1. How does Markbind manage dependencies? - MarkBind uses [lerna](https://github.com/lerna/lerna), a popular multi-package development tool, to manage it's dependencies. It is essentially a high level wrapper over node and npm's functionalities + MarkBind uses [lerna](https://github.com/lerna/lerna), a popular multi-package development tool, to manage it's dependencies. It is essentially a high level wrapper over node and npm's functionalities. 1. How do I move back to the released version of MarkBind? From f84094ce29082abfe295cf38b1d9ddd66fa656b2 Mon Sep 17 00:00:00 2001 From: Junx Date: Thu, 24 Feb 2022 21:54:03 +0800 Subject: [PATCH 07/23] Update docs/devGuide/settingUp.md Co-authored-by: Liu YongLiang <41845017+tlylt@users.noreply.github.com> --- docs/devGuide/settingUp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 624e513b1d..0c2a1502ab 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -43,7 +43,7 @@ We recommend the **WebStorm IDE** for working with MarkBind code. 1. Does MarkBind work with all operating systems? - Yes! We support all operating systems. However, windows 11 users might have to run `npm install` after the `npm run setup` as some packages may have incompatible versions. + Yes! We support all operating systems. However, Windows 11 users might have to run `npm install` after `npm run setup` as some packages may have incompatible versions. 1. How does Markbind manage dependencies? From c51a8e4cf819a2a97f620207568ebe3e7255cdca Mon Sep 17 00:00:00 2001 From: Junx Date: Sun, 27 Feb 2022 23:00:00 +0800 Subject: [PATCH 08/23] updated documents based on comments --- docs/devGuide/settingUp.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 0c2a1502ab..fe36e775ff 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -34,9 +34,8 @@ We recommend the **WebStorm IDE** for working with MarkBind code. ## Setting up the dev environment 1. **Fork and clone** the MarkBind repo. -1. **To bind your cloned version of MarkBind to your console** (instead of the released version of MarkBind), run `npm link` in the `packages/cli` folder of the cloned repo first. +1. **Bind your cloned version of MarkBind to your console** Inside the cloned folder navigate to the `packages/cli` folder and run `npm link` 1. **Install dependencies** by running `npm run setup` in the **root folder** of your cloned repo. - 1. **Congratulations!** Now you ready to start modifying MarkBind code. ### Common setup questions @@ -51,8 +50,8 @@ We recommend the **WebStorm IDE** for working with MarkBind code. 1. How do I move back to the released version of MarkBind? - To go back to the released version of MarkBind, run `npm run -g markbind-cli`, followed by `npm i -g markbind-cli`. + To go back to the released version of MarkBind, run `npm un -g markbind-cli`, followed by `npm i -g markbind-cli`. -1. Some of my front-end components are not working as expected. +1. Some of my front-end components are not working as expected. - Try running `npm run build:web` to rebuild the front-end components as these changes are only made when a new version of MarkBind is released. + Try running `npm run build:web` to rebuild the front-end components as these changes are only made when a new version of MarkBind is released. Learn more about this [here](workflow.md#editing-frontend-features) From 88ec9388ba16f64868cc55506b84f1d945bd83ae Mon Sep 17 00:00:00 2001 From: Junx Date: Sun, 27 Feb 2022 23:08:46 +0800 Subject: [PATCH 09/23] added more documentation --- docs/devGuide/settingUp.md | 2 +- docs/devGuide/workflow.md | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index fe36e775ff..8b385defb1 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -52,6 +52,6 @@ We recommend the **WebStorm IDE** for working with MarkBind code. To go back to the released version of MarkBind, run `npm un -g markbind-cli`, followed by `npm i -g markbind-cli`. -1. Some of my front-end components are not working as expected. +1. Some of my front-end components are not working as expected even after running `markbind serve -d`. Try running `npm run build:web` to rebuild the front-end components as these changes are only made when a new version of MarkBind is released. Learn more about this [here](workflow.md#editing-frontend-features) diff --git a/docs/devGuide/workflow.md b/docs/devGuide/workflow.md index 30bf7d6f63..7695ee5f02 100644 --- a/docs/devGuide/workflow.md +++ b/docs/devGuide/workflow.md @@ -131,11 +131,12 @@ The sections below has more information about various stages of submitting a PR. We update the frontend `markbind.min.js` and `markbind.min.css` bundles during release only, and not in pull requests. Hence, if you need to view the latest frontend changes (relating to `packages/core-web` or `packages/vue-components`), you can either: -1. Run `npm run build:web` in the root directory, which builds the above bundles, - then run your markbind-cli [command](https://markbind.org/userGuide/cliCommands.html) of choice. -2. Run `markbind serve -d` (with any other applicable options). (**recommended**)
+ +1. Run `markbind serve -d` (with any other applicable options). (**recommended**)
This adds the necessary webpack middlewares to the development server to compile the above bundles, and enables live and hot reloading for frontend source files. +1. Run `npm run build:web` in the root directory, which builds the above bundles, + then run your markbind-cli [command](https://markbind.org/userGuide/cliCommands.html) of choice. ## Testing From 5882dcbb2e0127ab20948895d82069ab45e327b1 Mon Sep 17 00:00:00 2001 From: Junx Date: Sun, 27 Feb 2022 23:09:27 +0800 Subject: [PATCH 10/23] fixed linting --- docs/devGuide/workflow.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/workflow.md b/docs/devGuide/workflow.md index 7695ee5f02..4aaaeb41c7 100644 --- a/docs/devGuide/workflow.md +++ b/docs/devGuide/workflow.md @@ -134,7 +134,7 @@ Hence, if you need to view the latest frontend changes (relating to `packages/co 1. Run `markbind serve -d` (with any other applicable options). (**recommended**)
This adds the necessary webpack middlewares to the development server to compile the above bundles, - and enables live and hot reloading for frontend source files. + and enables live and hot reloading for frontend source files. 1. Run `npm run build:web` in the root directory, which builds the above bundles, then run your markbind-cli [command](https://markbind.org/userGuide/cliCommands.html) of choice. From f34557167f4e8054e64020b5ae2bc81bdd279719 Mon Sep 17 00:00:00 2001 From: Junx Date: Fri, 4 Mar 2022 02:23:59 +0800 Subject: [PATCH 11/23] revert workflow --- docs/devGuide/settingUp.md | 52 +++++++++++++++++++++++--------------- docs/devGuide/workflow.md | 4 +-- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 8b385defb1..9b5364e6be 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -10,48 +10,60 @@
-This page explains how to set up your development environment to start contributing to MarkBind. +This page explains how to set up your development environment to start +contributing to MarkBind. +
## Prerequisites -1. **Node.js** ({{ node_version }} or higher) with
- **npm** v7 or higher -1. **Java** 8 or later, and
- **Graphviz** v2.38 or later
- %%(The above two are required for one of the third-party library used by MarkBind)%% -1. **Verify** that all tools are accessible and the versions are as expected by running these commands in the console. - * `node --version` - * `npm --version` - * `java --version` - * `dot -V` (for Graphviz) +1. **Node.js** ({{ node_version }} or higher) with
**npm** v7 or higher +1. **Java** 8 or later, and
**Graphviz** v2.38 or later
%%(The above two + are required for one of the third-party library used by MarkBind)%% +1. **Verify** that all tools are accessible and the versions are as expected by + running these commands in the console. + - `node --version` + - `npm --version` + - `java --version` + - `dot -V` (for Graphviz) -We recommend the **WebStorm IDE** for working with MarkBind code. - +We recommend the **WebStorm IDE** for working with MarkBind code. ## Setting up the dev environment 1. **Fork and clone** the MarkBind repo. -1. **Bind your cloned version of MarkBind to your console** Inside the cloned folder navigate to the `packages/cli` folder and run `npm link` -1. **Install dependencies** by running `npm run setup` in the **root folder** of your cloned repo. +1. **To bind your cloned version of MarkBind to your console** (instead of the + released version of MarkBind), run `npm link` in the `packages/cli` folder of + the cloned repo first. +1. **Install dependencies** by running + `npm run setup` + in the **root folder** of your cloned repo. + 1. **Congratulations!** Now you ready to start modifying MarkBind code. ### Common setup questions 1. Does MarkBind work with all operating systems? - Yes! We support all operating systems. However, Windows 11 users might have to run `npm install` after `npm run setup` as some packages may have incompatible versions. + Yes! We support all operating systems. However, Windows 11 users might have + to run `npm install` after `npm run setup` as some packages may have + incompatible versions. 1. How does Markbind manage dependencies? - MarkBind uses [lerna](https://github.com/lerna/lerna), a popular multi-package development tool, to manage it's dependencies. It is essentially a high level wrapper over node and npm's functionalities. + MarkBind uses [lerna](https://github.com/lerna/lerna), a popular + multi-package development tool, to manage it's dependencies. It is + essentially a high level wrapper over node and npm's functionalities. 1. How do I move back to the released version of MarkBind? - To go back to the released version of MarkBind, run `npm un -g markbind-cli`, followed by `npm i -g markbind-cli`. + To go back to the released version of MarkBind, run + `npm run -g markbind-cli`, followed by `npm i -g markbind-cli`. -1. Some of my front-end components are not working as expected even after running `markbind serve -d`. +1. Some of my front-end components are not working as expected even after + running `markbind serve -d`. - Try running `npm run build:web` to rebuild the front-end components as these changes are only made when a new version of MarkBind is released. Learn more about this [here](workflow.md#editing-frontend-features) + Try running `npm run build:web` to rebuild the front-end components as these + changes are only made when a new version of MarkBind is released. diff --git a/docs/devGuide/workflow.md b/docs/devGuide/workflow.md index 4aaaeb41c7..2d63734803 100644 --- a/docs/devGuide/workflow.md +++ b/docs/devGuide/workflow.md @@ -132,11 +132,11 @@ We update the frontend `markbind.min.js` and `markbind.min.css` bundles during r Hence, if you need to view the latest frontend changes (relating to `packages/core-web` or `packages/vue-components`), you can either: +1. Run `npm run build:web` in the root directory, which builds the above bundles, + then run your markbind-cli [command](https://markbind.org/userGuide/cliCommands.html) of choice. 1. Run `markbind serve -d` (with any other applicable options). (**recommended**)
This adds the necessary webpack middlewares to the development server to compile the above bundles, and enables live and hot reloading for frontend source files. -1. Run `npm run build:web` in the root directory, which builds the above bundles, - then run your markbind-cli [command](https://markbind.org/userGuide/cliCommands.html) of choice. ## Testing From 932cc0d8b1e1543b4a487fbdddd8aefdae77b77e Mon Sep 17 00:00:00 2001 From: Junx Date: Sat, 5 Mar 2022 00:38:25 +0800 Subject: [PATCH 12/23] fixed issues --- docs/devGuide/settingUp.md | 2 +- docs/devGuide/workflow.md | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 9b5364e6be..405b60accf 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -48,7 +48,7 @@ We recommend the **WebStorm IDE** for working with MarkBind code. 1. Does MarkBind work with all operating systems? Yes! We support all operating systems. However, Windows 11 users might have - to run `npm install` after `npm run setup` as some packages may have + to run `npm install` after `npm un setup` as some packages may have incompatible versions. 1. How does Markbind manage dependencies? diff --git a/docs/devGuide/workflow.md b/docs/devGuide/workflow.md index 2d63734803..30bf7d6f63 100644 --- a/docs/devGuide/workflow.md +++ b/docs/devGuide/workflow.md @@ -131,12 +131,11 @@ The sections below has more information about various stages of submitting a PR. We update the frontend `markbind.min.js` and `markbind.min.css` bundles during release only, and not in pull requests. Hence, if you need to view the latest frontend changes (relating to `packages/core-web` or `packages/vue-components`), you can either: - 1. Run `npm run build:web` in the root directory, which builds the above bundles, then run your markbind-cli [command](https://markbind.org/userGuide/cliCommands.html) of choice. -1. Run `markbind serve -d` (with any other applicable options). (**recommended**)
+2. Run `markbind serve -d` (with any other applicable options). (**recommended**)
This adds the necessary webpack middlewares to the development server to compile the above bundles, - and enables live and hot reloading for frontend source files. + and enables live and hot reloading for frontend source files. ## Testing From bc4d211da52a678fb760c0d26e2e72560a01afbb Mon Sep 17 00:00:00 2001 From: Junx Date: Sat, 5 Mar 2022 00:46:21 +0800 Subject: [PATCH 13/23] Updated based on yl feedback --- docs/devGuide/settingUp.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 405b60accf..18accca4e9 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -62,8 +62,6 @@ We recommend the **WebStorm IDE** for working with MarkBind code. To go back to the released version of MarkBind, run `npm run -g markbind-cli`, followed by `npm i -g markbind-cli`. -1. Some of my front-end components are not working as expected even after - running `markbind serve -d`. +1. Some of my front-end components are not working as expected when running `markbind serve`. - Try running `npm run build:web` to rebuild the front-end components as these - changes are only made when a new version of MarkBind is released. + Try checking out the [editing frontend features section](workflow.md#editing-frontend-features), you can either try running `markbind serve -d` or `npm run build:web` to view frontend changes. (Especially after pulling a frontend update that someone else may have pushed) From 87a5393ff8f9c0a0210f3806f50fa89b0dcf3e5d Mon Sep 17 00:00:00 2001 From: Junx Date: Sat, 5 Mar 2022 00:48:40 +0800 Subject: [PATCH 14/23] updated wording --- docs/devGuide/settingUp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 18accca4e9..9fae95d013 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -64,4 +64,4 @@ We recommend the **WebStorm IDE** for working with MarkBind code. 1. Some of my front-end components are not working as expected when running `markbind serve`. - Try checking out the [editing frontend features section](workflow.md#editing-frontend-features), you can either try running `markbind serve -d` or `npm run build:web` to view frontend changes. (Especially after pulling a frontend update that someone else may have pushed) + Try running either try running `markbind serve -d` or `npm run build:web` to view frontend changes. (Especially after pulling a frontend update that someone else may have pushed). You can more details [here](workflow.md#editing-frontend-features). From fa29eb2ddbcf40ce557709ebd1e994cdc65b35ca Mon Sep 17 00:00:00 2001 From: Junx Date: Sat, 5 Mar 2022 00:49:41 +0800 Subject: [PATCH 15/23] fixed punctuation and typo --- docs/devGuide/settingUp.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 9fae95d013..6a86204562 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -48,7 +48,7 @@ We recommend the **WebStorm IDE** for working with MarkBind code. 1. Does MarkBind work with all operating systems? Yes! We support all operating systems. However, Windows 11 users might have - to run `npm install` after `npm un setup` as some packages may have + to run `npm install` after `npm run setup` as some packages may have incompatible versions. 1. How does Markbind manage dependencies? @@ -60,8 +60,8 @@ We recommend the **WebStorm IDE** for working with MarkBind code. 1. How do I move back to the released version of MarkBind? To go back to the released version of MarkBind, run - `npm run -g markbind-cli`, followed by `npm i -g markbind-cli`. + `npm un -g markbind-cli`, followed by `npm i -g markbind-cli`. 1. Some of my front-end components are not working as expected when running `markbind serve`. - Try running either try running `markbind serve -d` or `npm run build:web` to view frontend changes. (Especially after pulling a frontend update that someone else may have pushed). You can more details [here](workflow.md#editing-frontend-features). + Try running either try running `markbind serve -d` or `npm run build:web` to view frontend changes (especially after pulling a frontend update that someone else may have pushed). You can more details [here](workflow.md#editing-frontend-features). From 0afdbf9d692bd457cf51e70cc456e72ed12b65aa Mon Sep 17 00:00:00 2001 From: Junx Date: Sun, 6 Mar 2022 20:57:36 +0800 Subject: [PATCH 16/23] wording fixes --- docs/devGuide/settingUp.md | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 6a86204562..a82a1d513c 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -10,38 +10,40 @@
-This page explains how to set up your development environment to start -contributing to MarkBind. - +This page explains how to set up your development environment to start contributing to MarkBind.
## Prerequisites -1. **Node.js** ({{ node_version }} or higher) with
**npm** v7 or higher -1. **Java** 8 or later, and
**Graphviz** v2.38 or later
%%(The above two - are required for one of the third-party library used by MarkBind)%% -1. **Verify** that all tools are accessible and the versions are as expected by - running these commands in the console. - - `node --version` - - `npm --version` - - `java --version` - - `dot -V` (for Graphviz) +1. **Node.js** ({{ node_version }} or higher) with
+ **npm** v7 or higher + +1. **Java** 8 or later, and
+ **Graphviz** v2.38 or later
+ %%(The above two are required for one of the third-party library used by MarkBind)%% + +1. **Verify** that all tools are accessible and the versions are as expected by running these commands in the console. + * `node --version` + * `npm --version` + * `java --version` + * `dot -V` (for Graphviz) -We recommend the **WebStorm IDE** for working with MarkBind code. +We recommend the **WebStorm IDE** for working with MarkBind code. + ## Setting up the dev environment 1. **Fork and clone** the MarkBind repo. -1. **To bind your cloned version of MarkBind to your console** (instead of the - released version of MarkBind), run `npm link` in the `packages/cli` folder of - the cloned repo first. -1. **Install dependencies** by running + +2. **Bind your cloned version of MarkBind to your console** by navigating to the cloned `packages/cli` folder and running `npm link` + +3. **Install dependencies** by running `npm run setup` in the **root folder** of your cloned repo. -1. **Congratulations!** Now you ready to start modifying MarkBind code. +4. **Congratulations!** Now you ready to start modifying MarkBind code. ### Common setup questions From d3e80198cd9178e48d283c259a46af5354fc8553 Mon Sep 17 00:00:00 2001 From: Junx Date: Wed, 9 Mar 2022 01:54:44 +0800 Subject: [PATCH 17/23] fixed whitespace --- docs/devGuide/settingUp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index a82a1d513c..7b48f82657 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -15,7 +15,7 @@ This page explains how to set up your development environment to start contribut ## Prerequisites -1. **Node.js** ({{ node_version }} or higher) with
+1. **Node.js** ({{ node_version }} or higher) with
**npm** v7 or higher 1. **Java** 8 or later, and
From cc5bcc8eedee6de771b20282149f10aa722acfc5 Mon Sep 17 00:00:00 2001 From: Junx Date: Wed, 9 Mar 2022 01:57:08 +0800 Subject: [PATCH 18/23] removed all trailling whitespaecs --- docs/devGuide/settingUp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 7b48f82657..da46eb5dbc 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -18,8 +18,8 @@ This page explains how to set up your development environment to start contribut 1. **Node.js** ({{ node_version }} or higher) with
**npm** v7 or higher -1. **Java** 8 or later, and
- **Graphviz** v2.38 or later
+1. **Java** 8 or later, and
+ **Graphviz** v2.38 or later
%%(The above two are required for one of the third-party library used by MarkBind)%% 1. **Verify** that all tools are accessible and the versions are as expected by running these commands in the console. From 2973d2cde60f35f42c5dd4ca3ff8a090b876fe8a Mon Sep 17 00:00:00 2001 From: Junx Date: Thu, 10 Mar 2022 21:36:25 +0800 Subject: [PATCH 19/23] Update docs/devGuide/settingUp.md Co-authored-by: Liu YongLiang <41845017+tlylt@users.noreply.github.com> --- docs/devGuide/settingUp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index da46eb5dbc..b94003fcfe 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -53,7 +53,7 @@ We recommend the **WebStorm IDE** for working with MarkBind code. to run `npm install` after `npm run setup` as some packages may have incompatible versions. -1. How does Markbind manage dependencies? +1. How does MarkBind manage dependencies? MarkBind uses [lerna](https://github.com/lerna/lerna), a popular multi-package development tool, to manage it's dependencies. It is From 0f19b772d9cc2a362c0026e22a8da8d472dc9728 Mon Sep 17 00:00:00 2001 From: Junx Date: Thu, 10 Mar 2022 21:36:31 +0800 Subject: [PATCH 20/23] Update docs/devGuide/settingUp.md Co-authored-by: Liu YongLiang <41845017+tlylt@users.noreply.github.com> --- docs/devGuide/settingUp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index b94003fcfe..392829e7e4 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -43,7 +43,7 @@ We recommend the **WebStorm IDE** for working with MarkBind code. `npm run setup` in the **root folder** of your cloned repo. -4. **Congratulations!** Now you ready to start modifying MarkBind code. +4. **Congratulations!** Now you are ready to start modifying MarkBind code. ### Common setup questions From f78f22d685ef697bb797a8ba8a3879f94f55d698 Mon Sep 17 00:00:00 2001 From: Junx Date: Thu, 10 Mar 2022 21:36:37 +0800 Subject: [PATCH 21/23] Update docs/devGuide/settingUp.md Co-authored-by: Liu YongLiang <41845017+tlylt@users.noreply.github.com> --- docs/devGuide/settingUp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index 392829e7e4..d61c681e35 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -56,7 +56,7 @@ We recommend the **WebStorm IDE** for working with MarkBind code. 1. How does MarkBind manage dependencies? MarkBind uses [lerna](https://github.com/lerna/lerna), a popular - multi-package development tool, to manage it's dependencies. It is + multi-package development tool, to manage its dependencies. It is essentially a high level wrapper over node and npm's functionalities. 1. How do I move back to the released version of MarkBind? From 9e6f0deecc9a59684b1143db1c7b7debd5ad3bc3 Mon Sep 17 00:00:00 2001 From: Junx Date: Thu, 10 Mar 2022 21:36:42 +0800 Subject: [PATCH 22/23] Update docs/devGuide/settingUp.md Co-authored-by: Liu YongLiang <41845017+tlylt@users.noreply.github.com> --- docs/devGuide/settingUp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index d61c681e35..c6ccf9d056 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -66,4 +66,4 @@ We recommend the **WebStorm IDE** for working with MarkBind code. 1. Some of my front-end components are not working as expected when running `markbind serve`. - Try running either try running `markbind serve -d` or `npm run build:web` to view frontend changes (especially after pulling a frontend update that someone else may have pushed). You can more details [here](workflow.md#editing-frontend-features). + Try running either `markbind serve -d` or `npm run build:web` to view frontend changes (especially after pulling a frontend update that someone else may have pushed). You can see more details [here](workflow.md#editing-frontend-features). From f2bdc8c6ea774a546e804ed6eb991ff60a0a4d29 Mon Sep 17 00:00:00 2001 From: Junx Date: Thu, 10 Mar 2022 21:36:58 +0800 Subject: [PATCH 23/23] Update docs/devGuide/settingUp.md Co-authored-by: Liu YongLiang <41845017+tlylt@users.noreply.github.com> --- docs/devGuide/settingUp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devGuide/settingUp.md b/docs/devGuide/settingUp.md index c6ccf9d056..9782d3c873 100644 --- a/docs/devGuide/settingUp.md +++ b/docs/devGuide/settingUp.md @@ -20,7 +20,7 @@ This page explains how to set up your development environment to start contribut 1. **Java** 8 or later, and
**Graphviz** v2.38 or later
- %%(The above two are required for one of the third-party library used by MarkBind)%% + %%(The above two are required for one of the third-party libraries used by MarkBind)%% 1. **Verify** that all tools are accessible and the versions are as expected by running these commands in the console. * `node --version`