diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..57b00b52 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,6 @@ +module.exports = { + root: true, + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint', 'jest'], + extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier','plugin:jest/recommended'], +} diff --git a/.github/workflows/continuous-integration-workflow.yml b/.github/workflows/continuous-integration-workflow.yml index 4fe6948f..674c06c6 100644 --- a/.github/workflows/continuous-integration-workflow.yml +++ b/.github/workflows/continuous-integration-workflow.yml @@ -4,7 +4,11 @@ on: [push] jobs: build: - runs-on: ubuntu-latest + strategy: + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 @@ -13,14 +17,26 @@ jobs: id: node_version run: echo "::set-output name=nvmrc::$(cat .nvmrc)" - - uses: actions/setup-node@v1 + - uses: actions/setup-node@v2 with: node-version: ${{ steps.node_version.outputs.nvmrc }} - - run: npm ci + - name: npm-ci + run: npm ci - name: build run: npm run vscode:prepublish - name: test run: npm run coverage + + # - name: ui-test linux + # if: runner.os == 'Linux' + # # run: xvfb-run -a npm run ui-test + # uses: GabrielBB/xvfb-action@v1 + # with: + # run: npm run ui-test + + # - name: ui-test linux + # if: runner.os != 'Linux' + # run: npm run ui-test diff --git a/.ionide/symbolCache.db b/.ionide/symbolCache.db new file mode 100644 index 00000000..8a73c4f7 Binary files /dev/null and b/.ionide/symbolCache.db differ diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..3ac9aeb6 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": [ + "dbaeumer.vscode-eslint" + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json index 96c61c3f..f58f7f2f 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,38 +1,35 @@ // A launch configuration that compiles the extension and then opens it inside a new window +// Use IntelliSense to learn about possible attributes. +// Hover to view descriptions of existing attributes. +// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 { - "version": "0.1.0", + "version": "0.2.0", "configurations": [ { - "name": "Launch Extension", + "name": "Run Extension", "type": "extensionHost", "request": "launch", - "runtimeExecutable": "${execPath}", "args": [ - "--extensionDevelopmentPath=${workspaceRoot}" + "--extensionDevelopmentPath=${workspaceFolder}" ], - "stopOnEntry": false, - "sourceMaps": true, "outFiles": [ "${workspaceFolder}/dist/**/*.js" ], - "preLaunchTask": "npm: webpack" + "preLaunchTask": "${defaultBuildTask}" }, { - "name": "Launch Tests", + "name": "Extension Tests", "type": "extensionHost", "request": "launch", - "runtimeExecutable": "${execPath}", "args": [ - "--disable-extensions", - "--extensionDevelopmentPath=${workspaceRoot}", - "--extensionTestsPath=${workspaceRoot}/out/test" + "--extensionDevelopmentPath=${workspaceFolder}", + "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" ], - "stopOnEntry": false, - "sourceMaps": true, "outFiles": [ - "${workspaceRoot}/out/test/**/*.js" + "${workspaceFolder}/out/**/*.js", + "${workspaceFolder}/dist/**/*.js" ], - "preLaunchTask": "npm" + "preLaunchTask": "tasks: watch-tests" } ] } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 7258579e..26033c7a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,9 +6,11 @@ "search.exclude": { "out": true // set this to false to include "out" folder in search results }, - "typescript.tsdk": "./node_modules/typescript/lib", + "typescript.tsc.autoDetect": "off", "mocha.files.glob": "./test/**/*test.ts", - "mocha.requires": ["ts-node/register"], + "mocha.requires": [ + "ts-node/register" + ], "mocha.options": { "compilers": "ts-node/register" }, @@ -25,4 +27,4 @@ "serverId": "evilz-github" }, "tslint.autoFixOnSave": true, -} +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index a9910e72..09666b26 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,27 +1,39 @@ -// Available variables which can be used inside of strings. -// ${workspaceRoot}: the root folder of the team -// ${file}: the current opened file -// ${fileBasename}: the current opened file's basename -// ${fileDirname}: the current opened file's dirname -// ${fileExtname}: the current opened file's extension -// ${cwd}: the current working directory of the spawned process -// A task runner that calls a custom npm script that compiles the extension. +// See https://go.microsoft.com/fwlink/?LinkId=733558 +// for the documentation about the tasks.json format { "version": "2.0.0", "tasks": [ { - "label": "npm: webpack", - "type": "shell", - "command": "npm", - "group": "build", + "type": "npm", + "script": "watch", + "isBackground": true, "presentation": { - "reveal": "always", - "panel": "new" + "reveal": "never", + "group": "watchers" }, - "args": [ - "run", - "webpack" - ] + "group": { + "kind": "build", + "isDefault": true + } + }, + { + "type": "npm", + "script": "watch-tests", + "problemMatcher": "$tsc-watch", + "isBackground": true, + "presentation": { + "reveal": "never", + "group": "watchers" + }, + "group": "build" + }, + { + "label": "tasks: watch-tests", + "dependsOn": [ + "npm: watch", + "npm: watch-tests" + ], + "problemMatcher": [] } ] } \ No newline at end of file diff --git a/.vscodeignore b/.vscodeignore index de25095f..9280fb5b 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -1,4 +1,4 @@ -node_modules/** + webpack.config.js .vscode/** .vscode-test/** @@ -26,4 +26,11 @@ default-thumbnail.jpg image-placeholder.png junit.xml math.md -tslint.json \ No newline at end of file +tslint.json +coverage/** +samples/** +node_modules/** +jest.config.js +sourceMap +.ionide/** +docs/** \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index d8a529cc..da72114d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 4.1.0 + +- update Reveal.js to 4.1.3 +- a lot of markdown feature add +- Samples +- kroki support +- Frontmatter completion and decoration with documentation + ## 4.0.3 ### Fix diff --git a/README.md b/README.md index cdd9cbfc..df764fb6 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,20 @@ # vscode-reveal [](https://marketplace.visualstudio.com/items?itemName=evilz.vscode-reveal)  - - + [](https://sonarcloud.io/dashboard?id=evilz_vscode-reveal) + This extension let you display a reveal.js presentation directly from an opened markdown document.  +> Full documentation [here](https://www.evilznet.com/vscode-reveal) + ## Features - [Markdown](#markdown) diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/docs/_coverpage.md b/docs/_coverpage.md new file mode 100644 index 00000000..1e9c17c7 --- /dev/null +++ b/docs/_coverpage.md @@ -0,0 +1,22 @@ +
+++ That's one small step for [a] man, one giant leap for mankind. +
+
inserted
+x
+marked
+result ++
H20
+29th
+``` + + + + +## GitHub-style task lists + + +```markdown +- [ ] Mercury +- [x] Venus +- [x] Earth (Orbit/Moon) +- [x] Mars +- [ ] Jupiter +- [ ] Saturn +- [ ] Uranus +- [ ] Neptune +- [ ] Comet Haley +``` + + + + +## Block + +Create block divs and nest divs within each other as well. + +```markdown +::: id=my-id class=blog-post +content +::: + +::: #my-id .blog-post +content +::: +``` + +```html +content
+Expected: | " + escapeText(expected) + " |
---|---|
Result: | " + escapeText(actual) + " |
Diff: | " + diff + " |
Source: | " + escapeText(details.source) + " |
Source: | " + escapeText(details.source) + " |
---|