Skip to content

Fix Vue Reactivity - #1271

Merged
jhildenbiddle merged 11 commits into
developfrom
fix-790
Oct 8, 2020
Merged

Fix Vue Reactivity#1271
jhildenbiddle merged 11 commits into
developfrom
fix-790

Conversation

@jhildenbiddle

@jhildenbiddlejhildenbiddle commented Jul 5, 2020

Copy link
Copy Markdown
Member

Fixes#788#790#1074#1252#1364

  • Fix inability to instantiate reactive Vue components by 1) handling each child of #main instead of #main itself and 2) skipping elements that are already Vue instances
  • Retain previous behavior of handling basic Vue rendering without the need for a markdown <script> tag.
  • Add Vue3 support
  • Update documentation and add live Vue examples
  • Update index.html files to include Vue.js
  • Update Cypress Jest+Playwright e2e tests

Summary: Docsify was mounting #main as a Vue component on every page change when it detected Vue.js, presumably to process basic Vue content without requiring a <script> tag in each markdown file. The issue is that this was happening after users had already instantiated child elements of #main as Vue components, destroying those instances.

- Fix inability to instantiate reactive Vue components by 1) handling each child of #main instead of #main itself and 2) skipping elements that are already Vue instances
- Retain previous behavior of processing basic Vue rendering without the need for a markdown <script> tag.
- Update documentation and add live Vue examples
- Update `index.html` files to include Vue.js and Vuep (CSS+JS)
# Conflicts:
#	docs/index.html
@vercel

vercelBot commented Jul 5, 2020

Copy link
Copy Markdown

This pull request is being automatically deployed with Vercel (learn more).
To see the status of your deployment, click below or on the icon next to each commit.

🔍 Inspect: https://vercel.com/docsify-core/docsify-preview/gw3jsrcph
✅ Preview: https://docsify-preview-git-fix-790.docsify-core.vercel.app

@codesandbox-ci

codesandbox-ciBot commented Jul 5, 2020

Copy link
Copy Markdown

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 4f6148d:

SandboxSource
docsify-templateConfiguration

Comment threadsrc/core/render/index.js

@anikethsahaanikethsaha left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is really awesome

Koooooo-7
Koooooo-7 previously approved these changes Jul 5, 2020

@Koooooo-7Koooooo-7 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Awesome ! 👍

anikethsaha
anikethsaha previously approved these changes Jul 5, 2020
sy-records
sy-records previously approved these changes Jul 5, 2020
trusktr
trusktr previously requested changes Jul 5, 2020

@trusktrtrusktr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is a good change, but let's add unit tests.

Comment threaddocs/index.html Outdated
Comment threadsrc/core/render/index.js
@anikethsaha

Copy link
Copy Markdown
Member

This is a good change, but let's add unit tests.

tests fixtures (e2e-cypress) have been updated. But yea unit/integration tests would be great to add. But is it possible to do unit testing for this change ? if so, it would be great to add.

Comment threadsrc/core/render/index.js Outdated
Comment threadsrc/core/render/index.js Outdated
@jhildenbiddlejhildenbiddle mentioned this pull request Jul 5, 2020
1 task
@jhildenbiddlejhildenbiddle linked an issue Jul 5, 2020 that may be closed by this pull request
1 task
- When Vue.js is detected, markdown `<script>` is not executed when executeScript is `false` (matches previous behavior)
- Minor code tweaks that do not affect functonality
anikethsaha
anikethsaha previously approved these changes Oct 7, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

vuejsrelated to Vue.js

Projects

None yet

5 participants

@jhildenbiddle@anikethsaha@trusktr@Koooooo-7@sy-records