Releases: MarkBind/markbind
v6.0.0
markbind-cli
User Facing Changes
Breaking Changes
This release deprecates support for Vue 2 and introduces full support for Vue 3. Vue 2 is no longer supported by MarkBind as it has reached its end of life in 31 December 2023. All MarkBind components and internal rendering logic now use Vue 3.3.11.
Vue 2 -based plugins and custom components must be updated to comply with Vue 3 syntax and API. Deprecated HTML5 syntax support is removed, such as , , and similar tags that are no longer rendered or styled reliably.
Scoped slots API (scopedSlots) has been replaced by the new slots API as per Vue 3 standards. Internal test and SSR setup has been restructured to reflect modern Vue 3 testing libraries and bundling practices.
What Site Authors Need to Do:
If you are using custom Vue components and directives, please migrate them using the Vue 3 Migration Guide. If your site uses deprecated HTML tags, replace them with semantic HTML5 alternatives or appropriate CSS styling. If you have extended MarkBind through plugins that rely on Vue APIs, refer to updated documentation for best practices post-migration.
Features
- Add card stack component by @Incogdino in #2648
Enhancements
- Add custom host validation by @AgentHagu in #2599
- Add color for highlighting fenced code blocks by @IanCheah in #2649
- Add tooltip for copy and wrap plugins by @Incogdino in #2657
- Remove panel body from print view when collapsed by @yyccbb in #2663
- Add 'no-page-break' options for printing (potentially) long components by @yyccbb in #2664
Fixes
- Fix issues with MarkBind's patch of live-server by @AgentHagu in #2621
- Catch UncaughtException for
build
anddeploy
by @AgentHagu in #2674 - Fix Issues with Tabs after Vue Migration by @IanCheah in #2678
Documentation
Developer Facing Changes
Code Quality
- Refactor isValidHost and resolve Codecov issue by @AgentHagu in #2656
- Update Vue Testing API by @gerteck in #2682
DevOps Changes
- Remove parallel flag from test scripts by @IanCheah in #2647
- Update config files to prevent duplicated JavaScript tests by @AgentHagu in #2638
Dependencies
- Migrate CodeCov from v3 to v5 by @AgentHagu in #2675
Documentation
- Update Developer Guide on Codecov for PR Review by @AgentHagu in #2659
Miscellaneous
- add seah-minlong as a contributor for doc by @allcontributors in #2642
- add AgentHagu as a contributor for code by @allcontributors in #2643
- add Incogdino as a contributor for doc by @allcontributors in #2644
- add IanCheah as a contributor for doc by @allcontributors in #2645
- add lhw-1 as a contributor for doc by @allcontributors in #2646
- add Incogdino as a contributor for bug by @allcontributors in #2654
- add yyccbb as a contributor for code by @allcontributors in #2676
Full Changelog: v5.6.0...v6.0.0
v5.6.0
markbind-cli
User Facing Changes
Breaking Changes
Node.js version 16 is no longer supported by Markbind as it has reached its end of life in 11 September 2023.
The minimum required version of Node.js is now 18; users are to upgrade to at least version 18 of Node.js.
- Add code highlighting based on absolute positions by @AgentHagu in #2584
This PR adds automatic conversion of tabs to 4 spaces by default, introducing a change in behavior. Additional actions from the user are not required.
Enhancements
- Update copy plugin by @Incogdino in #2580
- Update image annotation cursor to pointer on hover by @Incogdino in #2609
- Update Mermaid script for efficiency and decouple from Vue by @gerteck in #2614
- Refactor dataTable plugin to decouple from Vue by @gerteck in #2626
Fixes
- Fix broken annotation label by @Incogdino in #2586
- Catch UncaughtException when serving in non-Markbind directories by @AgentHagu in #2592
- Refactor codeBlockButton Plugins by @gerteck in #2625
Documentation
- Update annotations to be more useful by @yucheng11122017 in #2577
- Update UG Node.js/npm instructions by @seah-minlong in #2589
- UG -> Add mcq question with multiple correct answers by @Incogdino in #2591
- Deploy portfolio on netlify by @IanCheah in #2593
Developer Facing Changes
Code Quality
- Add compiled dangerfile.js to .gitignore and .eslintignore by @gerteck in #2601
- Migrate filterIconAssets.test.js to TypeScript by @AgentHagu in #2637
DevOps Changes
- Remove PR message workflow check for bots by @Incogdino in #2598
Dependencies
Miscellaneous
- add Incogdino as a contributor for code by @allcontributors in #2582
Full Changelog: v5.5.3...v5.6.0
v5.5.3
markbind-cli
User Facing Changes
Fixes
- Fix Searchbar Dropdown Menu by @gerteck in #2567
- Fix styling issue in Dismissible boxes by @gerteck in #2564
- Fix gh-pages deployment cache "path" argument must be of type string undefined. by @gerteck in #2562
- Fix Tab-Group Header not displayed by @gerteck in #2557
Documentation
Developer Facing Changes
Dependencies
Miscellaneous
- add gerteck as a contributor for code, and doc by @allcontributors in #2560
- Add note on netlify config when migrating Node.js by @tlylt in #2554
- Update UG and DG site json file to include new plugins by @EltonGohJH in #2546
- Revert dg json changes by @EltonGohJH in #2551
Full Changelog: v5.5.2...v5.5.3
v5.5.2
markbind-cli
User Facing Changes
Fixes
- Specify CACHE_DIR when deploying with GH actions by @EltonGohJH in #2542
Solves the error that is sometimes seen: "uncaughtException: The "path" argument must be of type string."
Documentation
- Update links to point to working site by @kaixin-hc in #2544
- Quick project writeup by @kaixin-hc in #2545
Full Changelog: v5.5.1...v5.5.2
v5.5.1
markbind-cli
Fixes (dependencies)
- Move buggy bootstrap-icons dependency to core/package.json by @kaixin-hc in #2539
- Bump fontawesome to remove console error by @kaixin-hc in #2540
Full Changelog: v5.5.0...v5.5.1
v5.5.0
markbind-cli
User Facing Changes
Breaking Changes
The main.css file is updated in #2500, so to implement this fix that prevents the appearance and disappearance of the scrollbar causing the icon in the nav bar to shift you will have to manually update the CSS file.
Features
- Add dataTable plugin in by @Tim-Siu in #2446
- Support Mermaid by @Tim-Siu in #2475
- Support Bootstrap icons by @yiwen101 in #2494
Added MarkBind templates for when users are starting their webpage
- MarkBind templates: add a project-specific template by @KevinEyo1 #2400
- Add portfolio template for init command by @jingting1412 in #2398
Enhancements
- Add once attribute to custom lists so attributes only apply to current item by @KevinEyo1 in #2454
- Support text-icons of lists by @yiwen101 in #2520
- Enable seamless panels to inherit any parent's colours by @jingting1412 in #2501
- Move scripts to bottom in page.njk (#2522) - performance improvement
Add warnings for authors to spot problematic areas in their website
- Implement efficient validation for hash intra-link by @yiwen101 in #2465
- Add warning for including empty segments or files in optional mode by @Tim-Siu in #2506
- Rule based html validation against hydration by @yiwen101 in #2493
Fixes
- Fix stray space before popover and tooltip by @yiwen101 in #2486 with investigation by @kaixin-hc
- Allocate space for scrollbar in nav components by @yucheng11122017 in #2500
- Fix off-positioned close button in imported modal by @yiwen101 in #2487 with help from @tlylt
Documentation
- Add references between image and pic in UG by @KevinEyo1 in #2514
- Remove Overridden Question Attributes in Docs by @luminousleek in #2513
- Add docs for attributes overridden by slots by @luminousleek in #2526
- Include link to the migrated AB3 website on our showcase by @tlylt in #2517
- Add note on absolute links by @jingting1412 in #2507
- Add getting started warning for python 3.12 with Node LTS by @kaixin-hc in #2536
- Chore (docs): Fix grammar + clarify sentence by @kaixin-hc in #2535 in list docs
- Chore: Document bootstrap classes with t-class in lists by @kaixin-hc in #2534
Developer Guide Only
- Update documentation for recommended IDE by @kaixin-hc in #2505
- Add documentation regarding security practices for github actions by @KevinEyo1 in #2528
- Remove milestones from our project workflow docs by @kaixin-hc in #2537
Developer Facing Changes
Code Quality
Complete Typescript Migration
- Migrate Site.test to Typescript by @yiwen101 in #2481
- Migrate core/index.js to Typescript by @yiwen101 in #2482
- Migrate Markdown_it_icons.test to TypeScript by @yiwen101 in #2480
Improve Tests
- Standardise NodeProcessor.data.ts constant names by @luminousleek in #2483
- Implement processSlotAttribute method by @luminousleek in #2511
- Add tests for logger output when overriding attributes by @luminousleek in #2525
- Ignore plantuml images for test sites @yucheng1112201 in #2502
Misc
- Using DangerJS to check changes coupling of implementation files to test or documentation files by @KevinEyo1 in #2523- POC, limited checking at present
- Chore: Remove generated PUML image and exclude it from .gitignore by @kaixin-hc in #2497
DevOps Changes
- Utilize GitHub Actions to check for SEMVER impact label by @KevinEyo1 in #2470
- Add a reminder when contributor is new to ping all contributor bot by @KevinEyo1 in #2484
- GitHub Actions: improve security by @KevinEyo1 in #2510
- Add back GITHUB_TOKEN to deploy-docs job by @KevinEyo1 in #2521
Dependencies
- Bump gh-pages from 2.2.0 to 5.0.0 by @dependabot in #2532 - due to security concerns
Miscellaneous
Full Changelog: v5.4.0...v5.5.0
v5.4.0
markbind-cli
User Facing Changes
Features
- Re-introduce lazy loading #2367 by @LamJiuFong in #2450
Enhancements
- Add line-numbers when wrapping is needed for printing by @Tim-Siu in #2431
- Add horizontal spacing between the icon and text in the custom icon list #2352 by @Ashleeey1224 in #2375
- Add text for icon by @yucheng11122017 in #2444
Fixes
- Fix external styles and script not hoisted by @yiwen101 in #2414
- Disable pop over in a-point if there is no header and content passed by user by @yucheng11122017 in #2436
- Use intended test input for NodeProcessor test by @luminousleek in #2462
- Debug cannot import footnote from hash by @yiwen101 in #2441
- 2416 fix gitignore not generated bug by @LamJiuFong in #2469
- Optimize code printing by @yucheng11122017 in #2445
Documentation
- Combining syntax cheat sheet and full syntax reference pages by @jingting1412 in #2426
- UG > PagNav: Misleading sentence by @KevinEyo1 in #2440
- Add pageNav to Reader-Facing Features by @jingting1412 in #2443
- Add keeping fork up to date section in DG by @itsyme in #2453
- Modify release documentation to add detailed instructions on permissions by @yucheng11122017 in #2455
Developer Facing Changes
Code Quality
- Layout ts by @kaixin-hc in #2461
- Test logger calls in tests for NodeProcessor by @luminousleek in #2463
Dependencies
- Migrate stylelint to latest version #2292 by @LamJiuFong in #2425
- Upgrade simple-git version by @KevinEyo1 in #2439
Miscellaneous
- add LamJiuFong as a contributor for code by @allcontributors in #2433
- add yiwen101 as a contributor for doc by @allcontributors in #2435
- add yiwen101 as a contributor for code by @allcontributors in #2437
- add Ashleeey1224 as a contributor for code by @allcontributors in #2456
Full Changelog: v5.3.0...v5.4.0
v5.3.0
markbind-cli
User Facing Changes
Features
- Allow
markbind serve
to specify custom host #2382 by @LamJiuFong in #2395
Enhancements
- Annotate support different labels by @yucheng11122017 in #2388
- Use a more noticeable color for highlight words in fenced code (#2051) by @Tim-Siu in #2394
- Enhance search performance of algolia plugin by @KevinEyo1 in #2406
- Annotation content slot by @yucheng11122017 in #2427
Documentation
- Correct broken UG external link (#2391) by @Tim-Siu in #2392
- Update user doc on markdown syntax for presentation component by @yiwen101 in #2415
Developer Facing Changes
Code Quality
- Chore: Remove unused CSS for seamless panel styling by @kaixin-hc in #2407
- Simplify fix for abrupt panel transition by @luminousleek in #2421
DevOps Changes
- Utilize GitHub Actions to aid checking of commit message by @KevinEyo1 in #2429
Dependencies
Miscellaneous
- add jingting1412 as a contributor for code by @allcontributors in #2390
- add Tim-Siu as a contributor for code by @allcontributors in #2393
- add KevinEyo1 as a contributor for code by @allcontributors in #2422
- add luminousleek as a contributor for code by @allcontributors in #2428
Full Changelog: v5.2.0...v5.3.0
v5.2.0
markbind-cli
User Facing Changes
Features
Enhancements
Fixes
Documentation
- Fix typo in scroll to top feature by @tlylt in #2374
- Update emoji and emoticon shortcuts in UG by @tlylt in #2379
Developer Facing Changes
Code Quality
DevOps Changes
- Remove build:ug step from CI workflow and dev docs by @tlylt in #2377
- Add CI check for documentation deploy errors by @tlylt in #2378
Miscellaneous
- Update onboarding bootcamp content wrt .gitignore by @tlylt in #2380
- add zlimez as a contributor for code by @allcontributors in #2381
Full Changelog: v5.1.0...v5.2.0
v5.1.0
markbind-cli
User Facing Changes
Important Note
The eager
loading option for <pic>
and <annotate>
has been removed in this release due to the fixes below.
- Pictures/annotations will now be loaded eagerly by default, as lazy loading them causes an undesirable bug in our scrolling feature
- You can remove the
eager
option if you have specified it in your MarkBind site. Leaving it there will not result in warning/error. - We do plan to support lazy loading in the future, once we can implement it without interfering with scrolling.
Fixes
Documentation
Developer Facing Changes
Code Quality
- Reimplement modal scrolling using Bootstrap's .modal-dialog-scrollable by @jmestxr in #2363
- Implement Site.Prototype methods in ES6 syntax #2280 by @jmestxr in #2356
DevOps Changes
Full Changelog: v5.0.2...v5.1.0