Skip to content

Conversation

@tlylt
Copy link
Contributor

@tlylt tlylt commented Apr 15, 2022

What is the purpose of this pull request?

  • Documentation update
  • Bug fix
  • Feature addition or enhancement
  • Code maintenance
  • Others, please explain:

Overview of changes:
The result of #1903, does not resolve the entire issue.

Ensure that both our test and deployment actually have the required dependencies for PlantUML support.
Previously, the images generated were incorrect (with error warnings). This update will first fix the issue of generation before we fix the bug in detection.

Anything you'd like to highlight/discuss:
Our current documentation (both UG and DG) does not directly refer to .puml files. Instead, we refer to the .png files generated. This means it's not strictly necessary to setup Java & Graphviz for the deploy docs step, but I thought it would be safer to do so. As for the Netlify PR preview, it seems like Java and Graphviz are available in the build image by default. This means we can refer to .puml files directly.

Testing instructions:
To see the issue before this PR, in your local machine:

  • first, uninstall Graphviz
  • cd into packages\cli\test\functional\test_site
  • run markbind build
  • examine the PlantUML diagrams generated in _site/diagrams, such as class diagrams (class.png). Those should contain errors due to the lack of Graphviz.
    • image

Proposed commit message: (wrap lines at 72 characters)
Update CI steps to set up Graphviz and Java for PlantUML support

PlantUML feature requires both Java and Graphviz to be installed.
Current CI steps do not guarantee the presence of these
dependencies. This means some PlantUML diagrams were
unable to be generated correctly.

Let's update our CI steps to ensure both Java and Graphviz are
available in the build image to support PlantUML syntax.

This will ensure usage of PlantUML syntax can be supported in
our tests and our documentation.


Checklist: ☑️

  • Updated the documentation for feature additions and enhancements
  • Added tests for bug fixes or features
  • Linked all related issues
  • No unrelated changes

Copy link
Contributor

@jonahtanjz jonahtanjz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job on the investigation and quick fix @tlylt 👍

Our current documentation (both UG and DG) does not directly refer to .puml files.

Looking through the previous related issues, #916 mentioned that Travis did not support Graphviz and so we needed to generate the .png files instead. I think since we have moved the deployment to Github Actions and Graphviz is now supported, we can start referring to .puml files directly in our UG and DG :) Thanks again for fixing this 💯

@jonahtanjz jonahtanjz added this to the 4.0 milestone Apr 15, 2022
@jonahtanjz jonahtanjz merged commit 30e3637 into MarkBind:master Apr 15, 2022
kaixin-hc added a commit to kaixin-hc/markbind that referenced this pull request Apr 18, 2022
commit 32f2e64
Author: Jovyn Tan <[email protected]>
Date:   Mon Apr 18 01:11:00 2022 +0800

    Fix typos in docs (MarkBind#1902)

commit cac6027
Author: Liu YongLiang <[email protected]>
Date:   Sun Apr 17 22:34:15 2022 +0800

    Remove package-lock file in packages/core (MarkBind#1908)

commit 6a7ea88
Merge: 30e3637 8106d48
Author: Jonah Tan <[email protected]>
Date:   Fri Apr 15 23:52:47 2022 +0800

    Migrate Bootstrap to v5.1.3 (MarkBind#1882)

commit 8106d48
Author: Jovyn Tan <[email protected]>
Date:   Fri Apr 15 23:31:54 2022 +0800

    Prevent Navbars from being printed (MarkBind#1906)

commit 30e3637
Author: Liu YongLiang <[email protected]>
Date:   Fri Apr 15 18:40:55 2022 +0800

    Update CI steps to set up Graphviz and Java for PlantUML support (MarkBind#1905)

    PlantUML feature requires both Java and Graphviz to be installed.
    Current CI steps do not guarantee the presence of these
    dependencies. This means some PlantUML diagrams were
    unable to be generated correctly.

    Let's update our CI steps to ensure both Java and Graphviz are
    available in the build image to support PlantUML syntax.

    This will ensure usage of PlantUML syntax can be supported in
    our tests and our documentation.

commit d7c6819
Author: Jovyn Tan <[email protected]>
Date:   Fri Apr 15 12:35:54 2022 +0800

    Migrate Bootswatch themes to v5.1.3 (MarkBind#1898)

commit aadc9b6
Author: Jovyn Tan <[email protected]>
Date:   Wed Apr 13 16:25:34 2022 +0800

    Refactor includePanelProcessor and MdAttributeRenderer (MarkBind#1896)

commit 33383ca
Author: Jovyn Tan <[email protected]>
Date:   Wed Apr 13 01:11:23 2022 +0800

    Migrate horizontal rules (MarkBind#1901)

    In Bootstrap 5, `<hr>` elements now use height instead of border to
    better support the size attribute. However, since MarkBind's hr styles
    support dotted/dashed/double lines, `<hr>` needs a border-based
    implementation.

    Let's minimally override Bootstrap 5's `<hr>` styling to continue
    supporting styled horizontal rules.

commit eef4089
Author: Jovyn Tan <[email protected]>
Date:   Wed Apr 13 01:10:58 2022 +0800

    Fix spacing for navbars and searchbars (MarkBind#1900)

commit 84099ac
Author: Jovyn Tan <[email protected]>
Date:   Tue Apr 12 15:05:17 2022 +0800

    Migrate MarkBind's quizzes and questions (MarkBind#1890)

commit 5485206
Author: Jovyn Tan <[email protected]>
Date:   Tue Apr 12 13:23:14 2022 +0800

    Namespace Bootstrap data attributes with data-bs- (MarkBind#1892)

commit 0ad144d
Author: Jovyn Tan <[email protected]>
Date:   Tue Apr 12 11:57:14 2022 +0800

    Migrate dropdown components (MarkBind#1888)

commit 5f9cc95
Author: Jovyn Tan <[email protected]>
Date:   Tue Apr 12 00:02:32 2022 +0800

    Remove jumbotron class (MarkBind#1885)

commit c1436a1
Author: Jovyn Tan <[email protected]>
Date:   Sat Apr 9 11:53:07 2022 +0800

    Migrate close buttons (MarkBind#1886)

commit 7bc7878
Author: Jovyn Tan <[email protected]>
Date:   Thu Apr 7 15:46:51 2022 +0800

    Migrate breaking changes for badges (MarkBind#1884)

commit e35c32b
Author: Jovyn Tan <[email protected]>
Date:   Tue Apr 5 21:15:24 2022 +0800

    Migrate utilities to Bootstrap V5 (MarkBind#1834)

commit 9d1dcdd
Author: Liu YongLiang <[email protected]>
Date:   Tue Apr 12 11:56:53 2022 +0800

    Update GitHub issue template checkbox to dropdown (MarkBind#1897)

commit 950b422
Author: Liu YongLiang <[email protected]>
Date:   Sat Apr 9 18:15:17 2022 +0800

    Fix UG display issues when using the outputBox boilerplate (MarkBind#1889)

commit 7608553
Author: Liu YongLiang <[email protected]>
Date:   Thu Apr 7 15:10:37 2022 +0800

    Add an explanation on how to use JavaScript chart libraries (MarkBind#1872)

    Charts can be useful in MarkBind sites to display data.

    Let's include a section in our UG to highlight the existing
    (basic) support for JavaScript chart libraries in MarkBind.

    This is the most flexible option that MarkBind users can
    go for to utilize a JavaScript chart library of their choice.

commit f14ea43
Author: Liu YongLiang <[email protected]>
Date:   Wed Apr 6 01:59:22 2022 +0800

    Fix edge cases of link validation and conversion (MarkBind#1875)

    Invalid intralinks have been reported in MarkBind docs. The
    reasons are 1. actual invalid link 2. file path contains a space
    3. Email link wrongly validated.

    Let's fix all three link validation & conversion errors.
    File paths with %20 will be correctly checked for
    existence. Email(tel) links will no longer be appended
    with the base URL or validated as intralink.

    The removal of invalid link behavior will allow
    the link & link validation mechanism to function
    properly.

commit 4f060c6
Author: Liu YongLiang <[email protected]>
Date:   Tue Apr 5 21:50:39 2022 +0800

    Update CI to run on all PR events (MarkBind#1878)

commit 7673e66
Author: Liu YongLiang <[email protected]>
Date:   Tue Apr 5 21:44:19 2022 +0800

    Update documentation on MarkBind GitHub Actions (MarkBind#1880)

    The existing GitHub Action "markbind-action" has been
    revamped to improve its functionalities.

    Let's add a reference to "markbind-action" in our
    user guide to highlight this helper workflow. Let's also
    include a section in our developer guide to explain how
    to develop and maintain the "markbind-action" repo.

    This helps users discover "markbind-action" and use it in
    their CI/CD workflow. The dev docs will help developers
    continue to improve "markbind-action"

commit feee60a
Author: Jovyn Tan <[email protected]>
Date:   Tue Apr 5 11:19:51 2022 +0800

    Remove bootstrap-vue (MarkBind#1873)

    bootstrap-vue is no longer used in MarkBind as it relies on Vue 2 and
    Bootstrap 4, both which we plan to upgrade. Its components have been
    migrated to other libraries.

    Let's remove all mentions and instances of bootstrap-vue from MarkBind
    to fully remove this dependency.

commit 1bd81ff
Author: Jovyn Tan <[email protected]>
Date:   Mon Apr 4 13:35:06 2022 +0800

    Add Components page to developer guide (MarkBind#1865)

    Add Writing Components page to dev docs

commit dac728d
Author: Jovyn Tan <[email protected]>
Date:   Mon Apr 4 12:00:48 2022 +0800

    Migrate popovers and tooltips to floating-vue (MarkBind#1868)

    Popovers and tooltips are implemented using bootstrap-vue.

    bootstrap-vue has dependencies on both Vue and Bootstrap, and has not
    migrated the latest versions. This is a blocker for MarkBind's
    migration of these dependencies.

    Let's use floating-vue's Menu and Tooltip components for Popovers and
    Tooltips respectively. floating-vue supports both Vue 2 and Vue 3, and
    has fewer dependencies. This allows us to migrate to Vue 3 and
    Bootstrap 5 more easily in the future.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants