mirror of
https://github.com/jaywcjlove/wxmp.git
synced 2026-07-02 20:37:19 +08:00
Compare commits
57 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3eb0eb6a22 | |||
| db5d7aeaa0 | |||
| a4dd7c70f2 | |||
| 1846f4db91 | |||
| d1d203390d | |||
| 456b6bc152 | |||
| 838bc6fac4 | |||
| 6284e79d98 | |||
| 99d944bc99 | |||
| f6efc302c5 | |||
| 818ee08728 | |||
| 9f5792dd9a | |||
| f1eebf62a9 | |||
| 91966fc805 | |||
| f08b113c36 | |||
| 4cacbb3a4c | |||
| 3c4a89b98b | |||
| 367382e924 | |||
| f25693a07c | |||
| 3e38547699 | |||
| 4038b4f503 | |||
| 4967a9266c | |||
| 0a3f44bdfe | |||
| f0eb8a5b27 | |||
| 64bdd271a8 | |||
| ead3e335a2 | |||
| 383a7a10ce | |||
| 50dc417f12 | |||
| ea266409b7 | |||
| 7248229f29 | |||
| c3f6a8f0b1 | |||
| 55bf28fd62 | |||
| f14f46aa4e | |||
| 9959f0221d | |||
| 560286f59f | |||
| 346cf4fc51 | |||
| f4ab62927c | |||
| 770fa3f4ab | |||
| 4bbd8ffb21 | |||
| 337f5706a8 | |||
| a1e5b72189 | |||
| 7b1b3ca5d5 | |||
| 94d80142ac | |||
| 3a2dba6f9b | |||
| 70038e58d1 | |||
| 149311dd5b | |||
| a11e5b1a96 | |||
| 2cbf47aeb8 | |||
| 30ce414706 | |||
| 72ad9242c1 | |||
| 0fa7c527b0 | |||
| 346331fdd4 | |||
| 28e67e31f1 | |||
| cd24f50a77 | |||
| 25da01bc8a | |||
| ff912b9231 | |||
| 3210ed7de6 |
@@ -1,99 +0,0 @@
|
||||
name: CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build-deploy:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
- run: npm install
|
||||
- run: npm run build
|
||||
|
||||
- name: Generate Contributors Images
|
||||
uses: jaywcjlove/github-action-contributors@main
|
||||
with:
|
||||
filter-author: (renovate\[bot\]|renovate-bot|dependabot\[bot\])
|
||||
output: build/CONTRIBUTORS.svg
|
||||
avatarSize: 42
|
||||
|
||||
- name: Create Tag
|
||||
id: create_tag
|
||||
uses: jaywcjlove/create-tag-action@main
|
||||
with:
|
||||
package-path: ./package.json
|
||||
|
||||
- name: get tag version
|
||||
id: tag_version
|
||||
uses: jaywcjlove/changelog-generator@main
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
commit_message: ${{ github.event.head_commit.message }} ${{steps.tag_version.outputs.tag}}
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./build
|
||||
|
||||
- name: Generate Changelog
|
||||
id: changelog
|
||||
uses: jaywcjlove/changelog-generator@main
|
||||
with:
|
||||
head-ref: ${{steps.create_tag.outputs.version}}
|
||||
filter-author: (renovate-bot|Renovate Bot)
|
||||
filter: '[R|r]elease[d]\s+[v|V]\d(\.\d+){0,2}'
|
||||
|
||||
- name: Create Release
|
||||
uses: ncipollo/release-action@v1
|
||||
if: steps.create_tag.outputs.successful
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
name: ${{ steps.create_tag.outputs.version }}
|
||||
tag: ${{ steps.create_tag.outputs.version }}
|
||||
body: |
|
||||
Documentation ${{ steps.changelog.outputs.tag }}: https://raw.githack.com/jaywcjlove/wxmp/${{ steps.changelog.outputs.gh-pages-short-hash }}/index.html
|
||||
Comparing Changes: ${{ steps.changelog.outputs.compareurl }}
|
||||
|
||||
${{ steps.changelog.outputs.changelog }}
|
||||
|
||||
# Create Docker Image
|
||||
- name: Docker login
|
||||
run: docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Build Awesome Mac image
|
||||
run: docker image build -t wxmp .
|
||||
|
||||
- name: Tags & Push image (latest)
|
||||
run: |
|
||||
echo "outputs.tag - ${{ steps.changelog.outputs.version }}"
|
||||
docker tag wxmp ${{ secrets.DOCKER_USER }}/wxmp:latest
|
||||
docker push ${{ secrets.DOCKER_USER }}/wxmp:latest
|
||||
|
||||
- name: Tags & Push image
|
||||
if: steps.create_tag.outputs.successful
|
||||
run: |
|
||||
echo "outputs.tag - ${{ steps.changelog.outputs.version }}"
|
||||
docker tag wxmp ${{ secrets.DOCKER_USER }}/wxmp:${{steps.changelog.outputs.version}}
|
||||
docker push ${{ secrets.DOCKER_USER }}/wxmp:${{steps.changelog.outputs.version}}
|
||||
|
||||
# Create Docker Image in GitHub
|
||||
- name: Login to GitHub registry
|
||||
run: echo ${{ github.token }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin
|
||||
|
||||
- name: Build docker image
|
||||
run: docker build -t ghcr.io/jaywcjlove/wxmp:latest .
|
||||
|
||||
- name: Publish to GitHub registry
|
||||
run: docker push ghcr.io/jaywcjlove/wxmp:latest
|
||||
|
||||
- name: Tag docker image (beta) and publish to GitHub registry
|
||||
if: steps.create_tag.outputs.successful
|
||||
run: |
|
||||
echo "version: v${{ steps.changelog.outputs.version }}"
|
||||
docker tag ghcr.io/jaywcjlove/wxmp:latest ghcr.io/jaywcjlove/wxmp:${{steps.changelog.outputs.version}}
|
||||
docker push ghcr.io/jaywcjlove/wxmp:${{steps.changelog.outputs.version}}
|
||||
-31
@@ -1,31 +0,0 @@
|
||||
dist
|
||||
build
|
||||
lib
|
||||
cjs
|
||||
esm
|
||||
node_modules
|
||||
|
||||
npm-debug.log*
|
||||
lerna-debug.log
|
||||
yarn-error.log
|
||||
package-lock.json
|
||||
|
||||
.DS_Store
|
||||
.cache
|
||||
.vscode
|
||||
.idea
|
||||
.env
|
||||
|
||||
*.mpassword
|
||||
*.bak
|
||||
*.tem
|
||||
*.temp
|
||||
#.swp
|
||||
*.*~
|
||||
~*.*
|
||||
|
||||
# IDEA
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
.idea/
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
. "$(dirname -- "$0")/_/husky.sh"
|
||||
|
||||
npx pretty-quick --staged
|
||||
@@ -1,50 +0,0 @@
|
||||
import path from 'path';
|
||||
import webpack, { Configuration } from 'webpack';
|
||||
import lessModules from '@kkt/less-modules';
|
||||
import { mdCodeModulesLoader } from 'markdown-react-code-preview-loader';
|
||||
import scopePluginOptions from '@kkt/scope-plugin-options';
|
||||
import { LoaderConfOptions } from 'kkt';
|
||||
import raw from '@kkt/raw-modules';
|
||||
import pkg from './package.json';
|
||||
|
||||
export default (conf: Configuration, env: 'development' | 'production', options: LoaderConfOptions) => {
|
||||
conf = lessModules(conf, env, options);
|
||||
conf = mdCodeModulesLoader(conf);
|
||||
conf = raw(conf, env, {
|
||||
...options,
|
||||
test: /\.(md.css)$/i,
|
||||
});
|
||||
conf = scopePluginOptions(conf, env, {
|
||||
...options,
|
||||
allowedFiles: [path.resolve(process.cwd(), 'README.md'), path.resolve(process.cwd(), 'src')],
|
||||
});
|
||||
conf.plugins!.push(
|
||||
new webpack.DefinePlugin({
|
||||
VERSION: JSON.stringify(pkg.version),
|
||||
}),
|
||||
);
|
||||
|
||||
conf.module!.exprContextCritical = false;
|
||||
if (env === 'production') {
|
||||
conf.output = { ...conf.output, publicPath: './' };
|
||||
conf.optimization = {
|
||||
...conf.optimization,
|
||||
splitChunks: {
|
||||
cacheGroups: {
|
||||
reactvendor: {
|
||||
test: /[\\/]node_modules[\\/](react|react-dom)[\\/]/,
|
||||
name: 'react-vendor',
|
||||
chunks: 'all',
|
||||
},
|
||||
refractor: {
|
||||
test: /[\\/]node_modules[\\/](refractor)[\\/]/,
|
||||
name: 'refractor-prismjs-vendor',
|
||||
chunks: 'all',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
return conf;
|
||||
};
|
||||
@@ -1,13 +0,0 @@
|
||||
**/*.md
|
||||
**/*.svg
|
||||
**/*.ejs
|
||||
**/*.html
|
||||
**/*.yml
|
||||
package.json
|
||||
node_modules
|
||||
dist
|
||||
build
|
||||
coverage
|
||||
lib
|
||||
esm
|
||||
test
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"singleQuote": true,
|
||||
"trailingComma": "all",
|
||||
"printWidth": 120,
|
||||
"overrides": [
|
||||
{
|
||||
"files": ".prettierrc",
|
||||
"options": { "parser": "json" }
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 9.3 KiB |
@@ -1,7 +0,0 @@
|
||||
# https://lipanski.com/posts/smallest-docker-image-static-website
|
||||
# https://github.com/lipanski/docker-static-website
|
||||
FROM lipanski/docker-static-website:latest
|
||||
|
||||
# Copy the static website
|
||||
# Use the .dockerignore file to control what ends up inside the image!
|
||||
COPY ./build .
|
||||
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 小弟调调™
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,192 +0,0 @@
|
||||
<div align="center">
|
||||
<h1 align="center">微信公众号 Markdown 编辑器</h1>
|
||||
</div>
|
||||
|
||||

|
||||
|
||||
微信公众号文章 Markdown 在线编辑器,使用 markdown 语法创建一篇简介美观大方的微信公众号图文。由于发版本麻烦,和一些功能无法扩展停滞开发了,未来不再开发 Chrome 的插件(暂存在 chrome 分支),通过 web 版本定制更丰富的功能。
|
||||
|
||||
## 功能特性
|
||||
|
||||
开发计划和一些功能介绍,有需求可以在 issue 中提,使得工具变得更加完善。下面示例用于 web 应用中效果展示。
|
||||
|
||||
- [x] 支持 Markdown 所有基础语法
|
||||
- [x] 支持自定义 CSS 样式
|
||||
- [x] 支持主题选择 & 编辑预览。
|
||||
- [x] 支持明暗两种主题预览。
|
||||
- [ ] 支持色盘取色,快速替换文章整体色调
|
||||
- [ ] 支持 URL 参数加载 Markdown 内容。
|
||||
- [x] 支持 URL 参数选择预览主题。
|
||||
|
||||
### 支持代码块样式
|
||||
|
||||
下面是 `jsx` 代码块展示示例,并高亮代码,用于 web 应用中效果展示。
|
||||
|
||||
```jsx
|
||||
function Demo() {
|
||||
return <div className="demo">Hello World!</div>
|
||||
}
|
||||
```
|
||||
|
||||
下面是 `css` 代码块展示示例,并高亮代码,用于 web 应用中效果展示。
|
||||
|
||||
```css
|
||||
li {
|
||||
font-size: 16px;
|
||||
margin: 0;
|
||||
line-height: 26px;
|
||||
color: rgb(30 41 59);
|
||||
font-family:-apple-system-font,BlinkMacSystemFont, Helvetica Neue, PingFang SC, Hiragino Sans GB , Microsoft YaHei UI , Microsoft YaHei ,Arial,sans-serif;
|
||||
}
|
||||
```
|
||||
|
||||
### 支持内联代码
|
||||
|
||||
> 用于 web 应用中效果展示。
|
||||
|
||||
Inline Code `{code: 0}`
|
||||
|
||||
### 支持表格
|
||||
|
||||
表格无法使用自定义样式,暂时没找到解决途径
|
||||
|
||||
| Header 1 | Header 2 |
|
||||
| --- | --- |
|
||||
| Key 1 | Value 1 |
|
||||
| Key 2 | Value 2 |
|
||||
| Key 3 | Value 3 |
|
||||
|
||||
### 支持 GFM 脚注
|
||||
|
||||
这是一个简单的 Markdown[^1] 语法的脚注[^2]。 页面最后有一些额外的文字描述。注意这不是完整的注脚[^3]特性。
|
||||
|
||||
[^1]: GitHub 风格的 Markdown 规范 https://github.github.com/gfm/
|
||||
[^2]: 脚注 https://github.blog/changelog/2021-09-30-footnotes-now-supported-in-markdown-fields/
|
||||
[^3]: 微信文章不支持锚点跳转和打开第三方 URL 超链接,所以不支持完整的注脚特性。
|
||||
|
||||
### 支持注释
|
||||
|
||||
<ruby>
|
||||
汉 <rp></rp><rt>Han</rt><rp></rp>
|
||||
字 <rp></rp><rt>zi</rt><rp></rp>
|
||||
拼 <rp></rp><rt>pin</rt><rp></rp>
|
||||
音 <rp></rp><rt>yin</rt><rp></rp>
|
||||
注 <rp></rp><rt>zhu</rt><rp></rp>
|
||||
音 <rp></rp><rt>yin</rt><rp></rp>
|
||||
</ruby>
|
||||
|
||||
### 支持自定义样式
|
||||
<!--rehype:style=color: red;-->
|
||||
|
||||
在 Markdown 中 HTML 注释也可以用在 markdown 中,利用这一特点,为一些内容自定一样式。使用 HTML 注释 `<!--rehype:xxx-->`<!--rehype:style=color: red;background: #ff000033;--> 让 Markdown 支持样式自定义。
|
||||
|
||||
```markdown
|
||||
## 定义标题样式
|
||||
<!--rehype:style=display: flex; height: 230px; align-items: center; justify-content: center; font-size: 38px;-->
|
||||
|
||||
支持对某些文字变更样式,如_文字颜色_<!--rehype:style=color: red;-->,文字颜色将被设置为红色(red)。
|
||||
```
|
||||
|
||||
⚠️ 注意:这一特性可能适用于有一定 css 前端基础知识的用户,不过它也非常简单,使用 `<!--rehype:style=` 开始,`-->` 结束,中间包裹 css 样式,如 `color: red;` 设置文字红色。
|
||||
|
||||
|
||||
### 标记忽略内容
|
||||
|
||||
此特性利用 HTML 注释在 markdown 中被忽略的特性,标记需要忽略的内容,标记开始 `<!--rehype:ignore:start-->`,标记结束 `<!--rehype:ignore:end-->`,被标记的内容在微信 Markdown 编辑器预览中不显示。在其它预览工具中展示内容,比如 GitHub 中能展示。
|
||||
|
||||
```markdown
|
||||
# 注释忽略
|
||||
|
||||
<!--rehype:ignore:start-->内容在微信 Markdown 编辑器预览中不显示。在其它预览工具中展示内容。<!--rehype:ignore:end-->
|
||||
```
|
||||
|
||||
## 主题定制
|
||||
|
||||
在目录 `src/themes` 中存放默认主题,在 `src/store/context.tsx` 中配置主题,主题使用 css 定义样式,不支持复杂的选择器。提供在线主题编辑器,欢迎修改并 PR 进仓库供大家使用。
|
||||
|
||||
```css
|
||||
/* 1~6 标题样式定义 */
|
||||
h1 {} h2 {} h3 {} h4 {} h5 {} h6 {}
|
||||
a { color: red; } /* 超链接样式定义 */
|
||||
strong {} /* 加粗样式定义 */
|
||||
del {} /* 删除线样式定义 */
|
||||
em {} /* 下划线样式定义 */
|
||||
u {} /* 下划线样式定义 */
|
||||
p {} /* 段落样式定义 */
|
||||
ul {} /* 无序列表样式定义 */
|
||||
ol {} /* 有序列表样式定义 */
|
||||
li {} /* 列表条目样式定义 */
|
||||
blockquote {} /* 块级引用样式定义 */
|
||||
table {}
|
||||
td {}
|
||||
th {}
|
||||
pre {} /* 样式定义 */
|
||||
.code-highlight {} /* 代码块样式定义 */
|
||||
.code-line {} /* 代码块行样式定义 */
|
||||
.code-spans {} /* 代码块行样式定义 */
|
||||
|
||||
sup {} /* GFM 脚注样式定义 */
|
||||
.footnotes-title {} /* GFM 脚注,参考标题样式定义 */
|
||||
.footnotes-list {} /* GFM 脚注,参考列表样式定义 */
|
||||
|
||||
.image-warpper {} /* 图片父节点样式定义 */
|
||||
.image {} /* 图片样式定义 */
|
||||
|
||||
/* 部分代码高亮样式 */
|
||||
.comment {}
|
||||
.property {}
|
||||
.function {}
|
||||
.keyword {}
|
||||
.punctuation {}
|
||||
.unit {}
|
||||
.tag {}
|
||||
.color {}
|
||||
.selector {}
|
||||
.quote {}
|
||||
.number {}
|
||||
.attr-name {}
|
||||
.attr-value {}
|
||||
```
|
||||
|
||||
## 部署
|
||||
|
||||
[](https://hub.docker.com/r/wcjiang/wxmp) [](https://hub.docker.com/r/wcjiang/wxmp) [](https://hub.docker.com/r/wcjiang/wxmp)
|
||||
|
||||
轻松通过 docker 部署《微信公众号 Markdown 编辑器》网站应用。
|
||||
|
||||
```bash
|
||||
docker pull wcjiang/wxmp
|
||||
# Or
|
||||
docker pull ghcr.io/jaywcjlove/wxmp:latest
|
||||
```
|
||||
|
||||
```bash
|
||||
docker run --name wxmp --rm -d -p 96611:3000 wcjiang/wxmp:latest
|
||||
# Or
|
||||
docker run --name wxmp -itd -p 96611:3000 wcjiang/wxmp:latest
|
||||
# Or
|
||||
docker run --name wxmp -itd -p 96611:3000 ghcr.io/jaywcjlove/wxmp:latest
|
||||
```
|
||||
|
||||
在浏览器中访问以下 URL
|
||||
|
||||
```
|
||||
http://localhost:96611/
|
||||
```
|
||||
|
||||
## 贡献者
|
||||
|
||||
一如既往,感谢我们出色的贡献者!
|
||||
|
||||
<a href="https://github.com/jaywcjlove/wxmp/graphs/contributors">
|
||||
<img src="https://jaywcjlove.github.io/wxmp/CONTRIBUTORS.svg" />
|
||||
</a>
|
||||
|
||||
上图贡献者列表,由 [action-contributors](https://github.com/jaywcjlove/github-action-contributors)[^4] 自动生成贡献者图片。
|
||||
|
||||
|
||||
[^4]: Action Contributors https://github.com/jaywcjlove/github-action-contributors
|
||||
|
||||
## License
|
||||
|
||||
根据 MIT 许可证获得许可。
|
||||
@@ -0,0 +1,305 @@
|
||||
{
|
||||
"files": {
|
||||
"main.css": "/static/css/main.b0346fce.css",
|
||||
"main.js": "/static/js/main.c8458fbf.js",
|
||||
"static/js/8694.36b3cff5.chunk.js": "/static/js/8694.36b3cff5.chunk.js",
|
||||
"static/js/2266.09c6429e.chunk.js": "/static/js/2266.09c6429e.chunk.js",
|
||||
"static/js/6769.88955b05.chunk.js": "/static/js/6769.88955b05.chunk.js",
|
||||
"static/js/9000.a6d05a00.chunk.js": "/static/js/9000.a6d05a00.chunk.js",
|
||||
"static/js/7646.f21290d1.chunk.js": "/static/js/7646.f21290d1.chunk.js",
|
||||
"static/js/9407.43fa990a.chunk.js": "/static/js/9407.43fa990a.chunk.js",
|
||||
"static/js/8615.981b81f1.chunk.js": "/static/js/8615.981b81f1.chunk.js",
|
||||
"static/js/4.e23758d3.chunk.js": "/static/js/4.e23758d3.chunk.js",
|
||||
"static/js/3528.1108d08f.chunk.js": "/static/js/3528.1108d08f.chunk.js",
|
||||
"static/js/9223.cd4455b7.chunk.js": "/static/js/9223.cd4455b7.chunk.js",
|
||||
"static/js/4089.def662de.chunk.js": "/static/js/4089.def662de.chunk.js",
|
||||
"static/js/3450.18fdd6ee.chunk.js": "/static/js/3450.18fdd6ee.chunk.js",
|
||||
"static/js/7873.3a808a8a.chunk.js": "/static/js/7873.3a808a8a.chunk.js",
|
||||
"static/js/1994.f591d43d.chunk.js": "/static/js/1994.f591d43d.chunk.js",
|
||||
"static/js/6576.73370513.chunk.js": "/static/js/6576.73370513.chunk.js",
|
||||
"static/js/6175.c3ab6b15.chunk.js": "/static/js/6175.c3ab6b15.chunk.js",
|
||||
"static/js/9468.ad2f8ea4.chunk.js": "/static/js/9468.ad2f8ea4.chunk.js",
|
||||
"static/js/2007.3507122f.chunk.js": "/static/js/2007.3507122f.chunk.js",
|
||||
"static/js/866.314a0c35.chunk.js": "/static/js/866.314a0c35.chunk.js",
|
||||
"static/js/6339.01ac2a16.chunk.js": "/static/js/6339.01ac2a16.chunk.js",
|
||||
"static/js/6547.996846c6.chunk.js": "/static/js/6547.996846c6.chunk.js",
|
||||
"static/js/2146.5e8c187e.chunk.js": "/static/js/2146.5e8c187e.chunk.js",
|
||||
"static/js/3368.8f349517.chunk.js": "/static/js/3368.8f349517.chunk.js",
|
||||
"static/js/2463.d773622d.chunk.js": "/static/js/2463.d773622d.chunk.js",
|
||||
"static/js/935.8b17c97b.chunk.js": "/static/js/935.8b17c97b.chunk.js",
|
||||
"static/js/5473.77f1c630.chunk.js": "/static/js/5473.77f1c630.chunk.js",
|
||||
"static/js/7607.4faa78c3.chunk.js": "/static/js/7607.4faa78c3.chunk.js",
|
||||
"static/js/4269.acfe5a5b.chunk.js": "/static/js/4269.acfe5a5b.chunk.js",
|
||||
"static/js/4884.74d69be0.chunk.js": "/static/js/4884.74d69be0.chunk.js",
|
||||
"static/js/8130.fe47032f.chunk.js": "/static/js/8130.fe47032f.chunk.js",
|
||||
"static/js/8448.d8c9eb6b.chunk.js": "/static/js/8448.d8c9eb6b.chunk.js",
|
||||
"static/js/4829.0ad89792.chunk.js": "/static/js/4829.0ad89792.chunk.js",
|
||||
"static/js/5912.3d4971b0.chunk.js": "/static/js/5912.3d4971b0.chunk.js",
|
||||
"static/js/6736.43963925.chunk.js": "/static/js/6736.43963925.chunk.js",
|
||||
"static/js/8898.27002e3f.chunk.js": "/static/js/8898.27002e3f.chunk.js",
|
||||
"static/js/6013.3702d108.chunk.js": "/static/js/6013.3702d108.chunk.js",
|
||||
"static/js/3212.98305161.chunk.js": "/static/js/3212.98305161.chunk.js",
|
||||
"static/js/4989.35d265a1.chunk.js": "/static/js/4989.35d265a1.chunk.js",
|
||||
"static/js/5208.23d16b13.chunk.js": "/static/js/5208.23d16b13.chunk.js",
|
||||
"static/js/7717.2aa2f597.chunk.js": "/static/js/7717.2aa2f597.chunk.js",
|
||||
"static/js/1188.640f261e.chunk.js": "/static/js/1188.640f261e.chunk.js",
|
||||
"static/js/9553.b19bc7a1.chunk.js": "/static/js/9553.b19bc7a1.chunk.js",
|
||||
"static/js/6193.6970ec9c.chunk.js": "/static/js/6193.6970ec9c.chunk.js",
|
||||
"static/js/1899.0d30545a.chunk.js": "/static/js/1899.0d30545a.chunk.js",
|
||||
"static/js/3726.2da3522b.chunk.js": "/static/js/3726.2da3522b.chunk.js",
|
||||
"static/js/3492.e45215ef.chunk.js": "/static/js/3492.e45215ef.chunk.js",
|
||||
"static/js/685.9fb7e4fb.chunk.js": "/static/js/685.9fb7e4fb.chunk.js",
|
||||
"static/js/2678.39098f12.chunk.js": "/static/js/2678.39098f12.chunk.js",
|
||||
"static/js/4388.303684d1.chunk.js": "/static/js/4388.303684d1.chunk.js",
|
||||
"static/js/5692.89adb786.chunk.js": "/static/js/5692.89adb786.chunk.js",
|
||||
"static/js/9354.40223627.chunk.js": "/static/js/9354.40223627.chunk.js",
|
||||
"static/js/3790.6a428df4.chunk.js": "/static/js/3790.6a428df4.chunk.js",
|
||||
"static/js/8219.d79d07d5.chunk.js": "/static/js/8219.d79d07d5.chunk.js",
|
||||
"static/js/8437.80f6ba8c.chunk.js": "/static/js/8437.80f6ba8c.chunk.js",
|
||||
"static/js/7485.a27f4ee9.chunk.js": "/static/js/7485.a27f4ee9.chunk.js",
|
||||
"static/js/8063.e914f2bd.chunk.js": "/static/js/8063.e914f2bd.chunk.js",
|
||||
"static/js/2682.b39108dc.chunk.js": "/static/js/2682.b39108dc.chunk.js",
|
||||
"static/js/5039.371f8a2e.chunk.js": "/static/js/5039.371f8a2e.chunk.js",
|
||||
"static/js/5516.81084e72.chunk.js": "/static/js/5516.81084e72.chunk.js",
|
||||
"static/js/1086.ef834f85.chunk.js": "/static/js/1086.ef834f85.chunk.js",
|
||||
"static/js/3640.712a916c.chunk.js": "/static/js/3640.712a916c.chunk.js",
|
||||
"static/js/9986.0e39c898.chunk.js": "/static/js/9986.0e39c898.chunk.js",
|
||||
"static/js/5188.602ad0a6.chunk.js": "/static/js/5188.602ad0a6.chunk.js",
|
||||
"static/js/1677.2ebdd997.chunk.js": "/static/js/1677.2ebdd997.chunk.js",
|
||||
"static/js/8945.737c7ae3.chunk.js": "/static/js/8945.737c7ae3.chunk.js",
|
||||
"static/js/9750.2155f85a.chunk.js": "/static/js/9750.2155f85a.chunk.js",
|
||||
"static/js/5395.aa5001a4.chunk.js": "/static/js/5395.aa5001a4.chunk.js",
|
||||
"static/js/4374.94487d1c.chunk.js": "/static/js/4374.94487d1c.chunk.js",
|
||||
"static/js/1615.7aed06a4.chunk.js": "/static/js/1615.7aed06a4.chunk.js",
|
||||
"static/js/1140.f47f2678.chunk.js": "/static/js/1140.f47f2678.chunk.js",
|
||||
"static/js/1839.5d1e32de.chunk.js": "/static/js/1839.5d1e32de.chunk.js",
|
||||
"static/js/5323.81e120d5.chunk.js": "/static/js/5323.81e120d5.chunk.js",
|
||||
"static/js/2433.53953aa5.chunk.js": "/static/js/2433.53953aa5.chunk.js",
|
||||
"static/js/3632.9b33a1f0.chunk.js": "/static/js/3632.9b33a1f0.chunk.js",
|
||||
"static/js/9484.4c8d3eb7.chunk.js": "/static/js/9484.4c8d3eb7.chunk.js",
|
||||
"static/js/3171.ffc748d6.chunk.js": "/static/js/3171.ffc748d6.chunk.js",
|
||||
"static/js/6054.2b891b89.chunk.js": "/static/js/6054.2b891b89.chunk.js",
|
||||
"static/js/1993.92c2a834.chunk.js": "/static/js/1993.92c2a834.chunk.js",
|
||||
"static/js/4702.31e4aa89.chunk.js": "/static/js/4702.31e4aa89.chunk.js",
|
||||
"static/js/4505.8f7582e7.chunk.js": "/static/js/4505.8f7582e7.chunk.js",
|
||||
"static/js/2565.b7e78396.chunk.js": "/static/js/2565.b7e78396.chunk.js",
|
||||
"static/js/8226.8ce8f684.chunk.js": "/static/js/8226.8ce8f684.chunk.js",
|
||||
"static/js/642.7706a5c3.chunk.js": "/static/js/642.7706a5c3.chunk.js",
|
||||
"static/js/5381.5e2112ab.chunk.js": "/static/js/5381.5e2112ab.chunk.js",
|
||||
"static/js/9562.8bf4c5de.chunk.js": "/static/js/9562.8bf4c5de.chunk.js",
|
||||
"static/js/5311.cffe3f1a.chunk.js": "/static/js/5311.cffe3f1a.chunk.js",
|
||||
"static/js/3498.0e9a9b25.chunk.js": "/static/js/3498.0e9a9b25.chunk.js",
|
||||
"static/js/7164.cd2a6920.chunk.js": "/static/js/7164.cd2a6920.chunk.js",
|
||||
"static/js/7743.58e54411.chunk.js": "/static/js/7743.58e54411.chunk.js",
|
||||
"static/js/3884.db6bcefb.chunk.js": "/static/js/3884.db6bcefb.chunk.js",
|
||||
"static/js/7062.4ef20821.chunk.js": "/static/js/7062.4ef20821.chunk.js",
|
||||
"static/js/6555.7c19bacc.chunk.js": "/static/js/6555.7c19bacc.chunk.js",
|
||||
"static/js/8373.66648981.chunk.js": "/static/js/8373.66648981.chunk.js",
|
||||
"static/js/2290.68727587.chunk.js": "/static/js/2290.68727587.chunk.js",
|
||||
"static/js/4517.64784864.chunk.js": "/static/js/4517.64784864.chunk.js",
|
||||
"static/js/7534.a4921490.chunk.js": "/static/js/7534.a4921490.chunk.js",
|
||||
"static/js/3743.3400513d.chunk.js": "/static/js/3743.3400513d.chunk.js",
|
||||
"static/js/1947.78824a11.chunk.js": "/static/js/1947.78824a11.chunk.js",
|
||||
"static/js/588.b2067dc8.chunk.js": "/static/js/588.b2067dc8.chunk.js",
|
||||
"static/js/7628.7d76df57.chunk.js": "/static/js/7628.7d76df57.chunk.js",
|
||||
"static/js/8047.6f506a64.chunk.js": "/static/js/8047.6f506a64.chunk.js",
|
||||
"static/js/9978.88e8e19b.chunk.js": "/static/js/9978.88e8e19b.chunk.js",
|
||||
"static/js/6881.f7660097.chunk.js": "/static/js/6881.f7660097.chunk.js",
|
||||
"static/js/9557.46cf9344.chunk.js": "/static/js/9557.46cf9344.chunk.js",
|
||||
"static/js/7472.50e2cfb5.chunk.js": "/static/js/7472.50e2cfb5.chunk.js",
|
||||
"static/js/854.5f026ff5.chunk.js": "/static/js/854.5f026ff5.chunk.js",
|
||||
"static/js/3067.89d2fe6f.chunk.js": "/static/js/3067.89d2fe6f.chunk.js",
|
||||
"static/js/8206.32faf1ab.chunk.js": "/static/js/8206.32faf1ab.chunk.js",
|
||||
"static/js/5251.ca26bf50.chunk.js": "/static/js/5251.ca26bf50.chunk.js",
|
||||
"static/js/2066.e3915248.chunk.js": "/static/js/2066.e3915248.chunk.js",
|
||||
"static/js/624.96120839.chunk.js": "/static/js/624.96120839.chunk.js",
|
||||
"refractor-prismjs-vendor.js": "/static/js/refractor-prismjs-vendor.9ce56c45.js",
|
||||
"react-vendor.js": "/static/js/react-vendor.210d4d09.js",
|
||||
"static/media/KaTeX_AMS-Regular.ttf": "/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf",
|
||||
"static/media/KaTeX_Main-Regular.ttf": "/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf",
|
||||
"static/media/KaTeX_Main-Bold.ttf": "/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf",
|
||||
"static/media/KaTeX_Main-Italic.ttf": "/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf",
|
||||
"static/media/KaTeX_AMS-Regular.woff": "/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff",
|
||||
"static/media/KaTeX_Main-BoldItalic.ttf": "/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf",
|
||||
"static/media/KaTeX_Math-Italic.ttf": "/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf",
|
||||
"static/media/KaTeX_Math-BoldItalic.ttf": "/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf",
|
||||
"static/media/KaTeX_Main-Regular.woff": "/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff",
|
||||
"static/media/KaTeX_Main-Bold.woff": "/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff",
|
||||
"static/media/KaTeX_AMS-Regular.woff2": "/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2",
|
||||
"static/media/KaTeX_Typewriter-Regular.ttf": "/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf",
|
||||
"static/media/KaTeX_Main-Regular.woff2": "/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2",
|
||||
"static/media/KaTeX_Main-Bold.woff2": "/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2",
|
||||
"static/media/KaTeX_SansSerif-Bold.ttf": "/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf",
|
||||
"static/media/KaTeX_SansSerif-Italic.ttf": "/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf",
|
||||
"static/media/KaTeX_Main-Italic.woff": "/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff",
|
||||
"static/media/KaTeX_Fraktur-Bold.ttf": "/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf",
|
||||
"static/media/KaTeX_Fraktur-Regular.ttf": "/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf",
|
||||
"static/media/KaTeX_SansSerif-Regular.ttf": "/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf",
|
||||
"static/media/KaTeX_Main-BoldItalic.woff": "/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff",
|
||||
"static/media/KaTeX_Math-Italic.woff": "/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff",
|
||||
"static/media/KaTeX_Math-BoldItalic.woff": "/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff",
|
||||
"static/media/KaTeX_Main-Italic.woff2": "/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2",
|
||||
"static/media/KaTeX_Main-BoldItalic.woff2": "/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2",
|
||||
"static/media/KaTeX_Script-Regular.ttf": "/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf",
|
||||
"static/media/KaTeX_Math-Italic.woff2": "/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2",
|
||||
"static/media/KaTeX_Math-BoldItalic.woff2": "/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2",
|
||||
"static/media/KaTeX_Typewriter-Regular.woff": "/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff",
|
||||
"static/media/KaTeX_SansSerif-Bold.woff": "/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff",
|
||||
"static/media/KaTeX_SansSerif-Italic.woff": "/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff",
|
||||
"static/media/KaTeX_Typewriter-Regular.woff2": "/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2",
|
||||
"static/media/KaTeX_Fraktur-Bold.woff": "/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff",
|
||||
"static/media/KaTeX_Fraktur-Regular.woff": "/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff",
|
||||
"static/media/KaTeX_Caligraphic-Bold.ttf": "/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf",
|
||||
"static/media/KaTeX_Caligraphic-Regular.ttf": "/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf",
|
||||
"static/media/KaTeX_SansSerif-Regular.woff": "/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff",
|
||||
"static/media/KaTeX_Size1-Regular.ttf": "/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf",
|
||||
"static/media/KaTeX_SansSerif-Bold.woff2": "/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2",
|
||||
"static/media/KaTeX_SansSerif-Italic.woff2": "/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2",
|
||||
"static/media/KaTeX_Size2-Regular.ttf": "/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf",
|
||||
"static/media/KaTeX_Fraktur-Bold.woff2": "/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2",
|
||||
"static/media/KaTeX_Fraktur-Regular.woff2": "/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2",
|
||||
"static/media/KaTeX_Script-Regular.woff": "/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff",
|
||||
"static/media/KaTeX_Size4-Regular.ttf": "/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf",
|
||||
"static/media/KaTeX_SansSerif-Regular.woff2": "/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2",
|
||||
"static/media/KaTeX_Script-Regular.woff2": "/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2",
|
||||
"static/media/KaTeX_Caligraphic-Bold.woff": "/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff",
|
||||
"static/media/KaTeX_Caligraphic-Regular.woff": "/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff",
|
||||
"static/media/KaTeX_Size3-Regular.ttf": "/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf",
|
||||
"static/media/KaTeX_Caligraphic-Bold.woff2": "/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2",
|
||||
"static/media/KaTeX_Caligraphic-Regular.woff2": "/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2",
|
||||
"static/media/KaTeX_Size1-Regular.woff": "/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff",
|
||||
"static/media/KaTeX_Size2-Regular.woff": "/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff",
|
||||
"static/media/KaTeX_Size4-Regular.woff": "/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff",
|
||||
"static/media/KaTeX_Size1-Regular.woff2": "/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2",
|
||||
"static/media/KaTeX_Size2-Regular.woff2": "/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2",
|
||||
"static/media/KaTeX_Size4-Regular.woff2": "/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2",
|
||||
"static/media/KaTeX_Size3-Regular.woff": "/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff",
|
||||
"static/media/KaTeX_Size3-Regular.woff2": "/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2",
|
||||
"static/media/tail-spin.svg": "/static/media/tail-spin.f708af82b1c2e4bdd8393694d7a0ab6b.svg",
|
||||
"static/media/logo.svg": "/static/media/logo.6a1d4715ae6fb70336779d6df5d3783b.svg",
|
||||
"index.html": "/index.html",
|
||||
"static/media/github.svg": "/static/media/github.6988a55f42f5097e5bd19ed9ae72ccde.svg",
|
||||
"static/media/color.svg": "/static/media/color.3cdb61387d75158307fc6d9ed1ab3e74.svg",
|
||||
"main.b0346fce.css.map": "/static/css/main.b0346fce.css.map",
|
||||
"main.c8458fbf.js.map": "/static/js/main.c8458fbf.js.map",
|
||||
"8694.36b3cff5.chunk.js.map": "/static/js/8694.36b3cff5.chunk.js.map",
|
||||
"2266.09c6429e.chunk.js.map": "/static/js/2266.09c6429e.chunk.js.map",
|
||||
"6769.88955b05.chunk.js.map": "/static/js/6769.88955b05.chunk.js.map",
|
||||
"9000.a6d05a00.chunk.js.map": "/static/js/9000.a6d05a00.chunk.js.map",
|
||||
"7646.f21290d1.chunk.js.map": "/static/js/7646.f21290d1.chunk.js.map",
|
||||
"9407.43fa990a.chunk.js.map": "/static/js/9407.43fa990a.chunk.js.map",
|
||||
"8615.981b81f1.chunk.js.map": "/static/js/8615.981b81f1.chunk.js.map",
|
||||
"4.e23758d3.chunk.js.map": "/static/js/4.e23758d3.chunk.js.map",
|
||||
"3528.1108d08f.chunk.js.map": "/static/js/3528.1108d08f.chunk.js.map",
|
||||
"9223.cd4455b7.chunk.js.map": "/static/js/9223.cd4455b7.chunk.js.map",
|
||||
"4089.def662de.chunk.js.map": "/static/js/4089.def662de.chunk.js.map",
|
||||
"3450.18fdd6ee.chunk.js.map": "/static/js/3450.18fdd6ee.chunk.js.map",
|
||||
"7873.3a808a8a.chunk.js.map": "/static/js/7873.3a808a8a.chunk.js.map",
|
||||
"1994.f591d43d.chunk.js.map": "/static/js/1994.f591d43d.chunk.js.map",
|
||||
"6576.73370513.chunk.js.map": "/static/js/6576.73370513.chunk.js.map",
|
||||
"6175.c3ab6b15.chunk.js.map": "/static/js/6175.c3ab6b15.chunk.js.map",
|
||||
"9468.ad2f8ea4.chunk.js.map": "/static/js/9468.ad2f8ea4.chunk.js.map",
|
||||
"2007.3507122f.chunk.js.map": "/static/js/2007.3507122f.chunk.js.map",
|
||||
"866.314a0c35.chunk.js.map": "/static/js/866.314a0c35.chunk.js.map",
|
||||
"6339.01ac2a16.chunk.js.map": "/static/js/6339.01ac2a16.chunk.js.map",
|
||||
"6547.996846c6.chunk.js.map": "/static/js/6547.996846c6.chunk.js.map",
|
||||
"2146.5e8c187e.chunk.js.map": "/static/js/2146.5e8c187e.chunk.js.map",
|
||||
"3368.8f349517.chunk.js.map": "/static/js/3368.8f349517.chunk.js.map",
|
||||
"2463.d773622d.chunk.js.map": "/static/js/2463.d773622d.chunk.js.map",
|
||||
"935.8b17c97b.chunk.js.map": "/static/js/935.8b17c97b.chunk.js.map",
|
||||
"5473.77f1c630.chunk.js.map": "/static/js/5473.77f1c630.chunk.js.map",
|
||||
"7607.4faa78c3.chunk.js.map": "/static/js/7607.4faa78c3.chunk.js.map",
|
||||
"4269.acfe5a5b.chunk.js.map": "/static/js/4269.acfe5a5b.chunk.js.map",
|
||||
"4884.74d69be0.chunk.js.map": "/static/js/4884.74d69be0.chunk.js.map",
|
||||
"8130.fe47032f.chunk.js.map": "/static/js/8130.fe47032f.chunk.js.map",
|
||||
"8448.d8c9eb6b.chunk.js.map": "/static/js/8448.d8c9eb6b.chunk.js.map",
|
||||
"4829.0ad89792.chunk.js.map": "/static/js/4829.0ad89792.chunk.js.map",
|
||||
"5912.3d4971b0.chunk.js.map": "/static/js/5912.3d4971b0.chunk.js.map",
|
||||
"6736.43963925.chunk.js.map": "/static/js/6736.43963925.chunk.js.map",
|
||||
"8898.27002e3f.chunk.js.map": "/static/js/8898.27002e3f.chunk.js.map",
|
||||
"6013.3702d108.chunk.js.map": "/static/js/6013.3702d108.chunk.js.map",
|
||||
"3212.98305161.chunk.js.map": "/static/js/3212.98305161.chunk.js.map",
|
||||
"4989.35d265a1.chunk.js.map": "/static/js/4989.35d265a1.chunk.js.map",
|
||||
"5208.23d16b13.chunk.js.map": "/static/js/5208.23d16b13.chunk.js.map",
|
||||
"7717.2aa2f597.chunk.js.map": "/static/js/7717.2aa2f597.chunk.js.map",
|
||||
"1188.640f261e.chunk.js.map": "/static/js/1188.640f261e.chunk.js.map",
|
||||
"9553.b19bc7a1.chunk.js.map": "/static/js/9553.b19bc7a1.chunk.js.map",
|
||||
"6193.6970ec9c.chunk.js.map": "/static/js/6193.6970ec9c.chunk.js.map",
|
||||
"1899.0d30545a.chunk.js.map": "/static/js/1899.0d30545a.chunk.js.map",
|
||||
"3726.2da3522b.chunk.js.map": "/static/js/3726.2da3522b.chunk.js.map",
|
||||
"3492.e45215ef.chunk.js.map": "/static/js/3492.e45215ef.chunk.js.map",
|
||||
"685.9fb7e4fb.chunk.js.map": "/static/js/685.9fb7e4fb.chunk.js.map",
|
||||
"2678.39098f12.chunk.js.map": "/static/js/2678.39098f12.chunk.js.map",
|
||||
"4388.303684d1.chunk.js.map": "/static/js/4388.303684d1.chunk.js.map",
|
||||
"5692.89adb786.chunk.js.map": "/static/js/5692.89adb786.chunk.js.map",
|
||||
"9354.40223627.chunk.js.map": "/static/js/9354.40223627.chunk.js.map",
|
||||
"3790.6a428df4.chunk.js.map": "/static/js/3790.6a428df4.chunk.js.map",
|
||||
"8219.d79d07d5.chunk.js.map": "/static/js/8219.d79d07d5.chunk.js.map",
|
||||
"8437.80f6ba8c.chunk.js.map": "/static/js/8437.80f6ba8c.chunk.js.map",
|
||||
"7485.a27f4ee9.chunk.js.map": "/static/js/7485.a27f4ee9.chunk.js.map",
|
||||
"8063.e914f2bd.chunk.js.map": "/static/js/8063.e914f2bd.chunk.js.map",
|
||||
"2682.b39108dc.chunk.js.map": "/static/js/2682.b39108dc.chunk.js.map",
|
||||
"5039.371f8a2e.chunk.js.map": "/static/js/5039.371f8a2e.chunk.js.map",
|
||||
"5516.81084e72.chunk.js.map": "/static/js/5516.81084e72.chunk.js.map",
|
||||
"1086.ef834f85.chunk.js.map": "/static/js/1086.ef834f85.chunk.js.map",
|
||||
"3640.712a916c.chunk.js.map": "/static/js/3640.712a916c.chunk.js.map",
|
||||
"9986.0e39c898.chunk.js.map": "/static/js/9986.0e39c898.chunk.js.map",
|
||||
"5188.602ad0a6.chunk.js.map": "/static/js/5188.602ad0a6.chunk.js.map",
|
||||
"1677.2ebdd997.chunk.js.map": "/static/js/1677.2ebdd997.chunk.js.map",
|
||||
"8945.737c7ae3.chunk.js.map": "/static/js/8945.737c7ae3.chunk.js.map",
|
||||
"9750.2155f85a.chunk.js.map": "/static/js/9750.2155f85a.chunk.js.map",
|
||||
"5395.aa5001a4.chunk.js.map": "/static/js/5395.aa5001a4.chunk.js.map",
|
||||
"4374.94487d1c.chunk.js.map": "/static/js/4374.94487d1c.chunk.js.map",
|
||||
"1615.7aed06a4.chunk.js.map": "/static/js/1615.7aed06a4.chunk.js.map",
|
||||
"1140.f47f2678.chunk.js.map": "/static/js/1140.f47f2678.chunk.js.map",
|
||||
"1839.5d1e32de.chunk.js.map": "/static/js/1839.5d1e32de.chunk.js.map",
|
||||
"5323.81e120d5.chunk.js.map": "/static/js/5323.81e120d5.chunk.js.map",
|
||||
"2433.53953aa5.chunk.js.map": "/static/js/2433.53953aa5.chunk.js.map",
|
||||
"3632.9b33a1f0.chunk.js.map": "/static/js/3632.9b33a1f0.chunk.js.map",
|
||||
"9484.4c8d3eb7.chunk.js.map": "/static/js/9484.4c8d3eb7.chunk.js.map",
|
||||
"3171.ffc748d6.chunk.js.map": "/static/js/3171.ffc748d6.chunk.js.map",
|
||||
"6054.2b891b89.chunk.js.map": "/static/js/6054.2b891b89.chunk.js.map",
|
||||
"1993.92c2a834.chunk.js.map": "/static/js/1993.92c2a834.chunk.js.map",
|
||||
"4702.31e4aa89.chunk.js.map": "/static/js/4702.31e4aa89.chunk.js.map",
|
||||
"4505.8f7582e7.chunk.js.map": "/static/js/4505.8f7582e7.chunk.js.map",
|
||||
"2565.b7e78396.chunk.js.map": "/static/js/2565.b7e78396.chunk.js.map",
|
||||
"8226.8ce8f684.chunk.js.map": "/static/js/8226.8ce8f684.chunk.js.map",
|
||||
"642.7706a5c3.chunk.js.map": "/static/js/642.7706a5c3.chunk.js.map",
|
||||
"5381.5e2112ab.chunk.js.map": "/static/js/5381.5e2112ab.chunk.js.map",
|
||||
"9562.8bf4c5de.chunk.js.map": "/static/js/9562.8bf4c5de.chunk.js.map",
|
||||
"5311.cffe3f1a.chunk.js.map": "/static/js/5311.cffe3f1a.chunk.js.map",
|
||||
"3498.0e9a9b25.chunk.js.map": "/static/js/3498.0e9a9b25.chunk.js.map",
|
||||
"7164.cd2a6920.chunk.js.map": "/static/js/7164.cd2a6920.chunk.js.map",
|
||||
"7743.58e54411.chunk.js.map": "/static/js/7743.58e54411.chunk.js.map",
|
||||
"3884.db6bcefb.chunk.js.map": "/static/js/3884.db6bcefb.chunk.js.map",
|
||||
"7062.4ef20821.chunk.js.map": "/static/js/7062.4ef20821.chunk.js.map",
|
||||
"6555.7c19bacc.chunk.js.map": "/static/js/6555.7c19bacc.chunk.js.map",
|
||||
"8373.66648981.chunk.js.map": "/static/js/8373.66648981.chunk.js.map",
|
||||
"2290.68727587.chunk.js.map": "/static/js/2290.68727587.chunk.js.map",
|
||||
"4517.64784864.chunk.js.map": "/static/js/4517.64784864.chunk.js.map",
|
||||
"7534.a4921490.chunk.js.map": "/static/js/7534.a4921490.chunk.js.map",
|
||||
"3743.3400513d.chunk.js.map": "/static/js/3743.3400513d.chunk.js.map",
|
||||
"1947.78824a11.chunk.js.map": "/static/js/1947.78824a11.chunk.js.map",
|
||||
"588.b2067dc8.chunk.js.map": "/static/js/588.b2067dc8.chunk.js.map",
|
||||
"7628.7d76df57.chunk.js.map": "/static/js/7628.7d76df57.chunk.js.map",
|
||||
"8047.6f506a64.chunk.js.map": "/static/js/8047.6f506a64.chunk.js.map",
|
||||
"9978.88e8e19b.chunk.js.map": "/static/js/9978.88e8e19b.chunk.js.map",
|
||||
"6881.f7660097.chunk.js.map": "/static/js/6881.f7660097.chunk.js.map",
|
||||
"9557.46cf9344.chunk.js.map": "/static/js/9557.46cf9344.chunk.js.map",
|
||||
"7472.50e2cfb5.chunk.js.map": "/static/js/7472.50e2cfb5.chunk.js.map",
|
||||
"854.5f026ff5.chunk.js.map": "/static/js/854.5f026ff5.chunk.js.map",
|
||||
"3067.89d2fe6f.chunk.js.map": "/static/js/3067.89d2fe6f.chunk.js.map",
|
||||
"8206.32faf1ab.chunk.js.map": "/static/js/8206.32faf1ab.chunk.js.map",
|
||||
"5251.ca26bf50.chunk.js.map": "/static/js/5251.ca26bf50.chunk.js.map",
|
||||
"2066.e3915248.chunk.js.map": "/static/js/2066.e3915248.chunk.js.map",
|
||||
"624.96120839.chunk.js.map": "/static/js/624.96120839.chunk.js.map",
|
||||
"refractor-prismjs-vendor.9ce56c45.js.map": "/static/js/refractor-prismjs-vendor.9ce56c45.js.map",
|
||||
"react-vendor.210d4d09.js.map": "/static/js/react-vendor.210d4d09.js.map"
|
||||
},
|
||||
"entrypoints": [
|
||||
"static/js/refractor-prismjs-vendor.9ce56c45.js",
|
||||
"static/js/react-vendor.210d4d09.js",
|
||||
"static/css/main.b0346fce.css",
|
||||
"static/js/main.c8458fbf.js"
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0" name="viewport"><meta name="theme-color" content="#000000"/><title>微信公众号 Markdown 编辑器</title><meta name="keywords" content="react,simple,monorepo,template,component,project,package,development"/><meta name="description" content="Simple React package development project example template."/><link rel="icon" href="favicon.ico"/><script defer="defer" src="./static/js/refractor-prismjs-vendor.9ce56c45.js"></script><script defer="defer" src="./static/js/react-vendor.210d4d09.js"></script><script defer="defer" src="./static/js/main.c8458fbf.js"></script><link href="./static/css/main.b0346fce.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
||||
@@ -1,81 +0,0 @@
|
||||
{
|
||||
"name": "website",
|
||||
"version": "2.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "kkt start",
|
||||
"build": "kkt build",
|
||||
"prepare": "husky install",
|
||||
"prettier": "prettier --write '**/*.{js,jsx,tsx,ts,less,md,json}'",
|
||||
"pretty-quick": "pretty-quick --staged"
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.18.9",
|
||||
"@uiw/codemirror-theme-abcdef": "^4.11.6",
|
||||
"@uiw/codemirror-theme-androidstudio": "^4.11.6",
|
||||
"@uiw/codemirror-theme-atomone": "^4.11.6",
|
||||
"@uiw/codemirror-theme-bbedit": "^4.11.6",
|
||||
"@uiw/codemirror-theme-bespin": "^4.11.6",
|
||||
"@uiw/codemirror-theme-darcula": "^4.11.6",
|
||||
"@uiw/codemirror-theme-dracula": "^4.11.6",
|
||||
"@uiw/codemirror-theme-duotone": "^4.11.6",
|
||||
"@uiw/codemirror-theme-eclipse": "^4.11.6",
|
||||
"@uiw/codemirror-theme-github": "^4.11.6",
|
||||
"@uiw/codemirror-theme-okaidia": "^4.11.6",
|
||||
"@uiw/codemirror-theme-sublime": "^4.11.6",
|
||||
"@uiw/codemirror-theme-xcode": "^4.11.6",
|
||||
"@uiw/react-back-to-top": "^1.2.0",
|
||||
"@uiw/react-github-corners": "^1.5.15",
|
||||
"@uiw/react-markdown-editor": "^5.6.0",
|
||||
"@wcj/dark-mode": "^1.0.15",
|
||||
"css-tree": "^2.2.1",
|
||||
"react": "^18.2.0",
|
||||
"react-code-preview-layout": "^2.0.4",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-hot-toast": "^2.3.0",
|
||||
"react-router-dom": "^6.3.0",
|
||||
"rehype-attr": "^2.0.8",
|
||||
"rehype-ignore": "^1.0.1",
|
||||
"rehype-prism-plus": "^1.5.0",
|
||||
"rehype-raw": "^6.1.1",
|
||||
"rehype-stringify": "^9.0.3",
|
||||
"remark-gfm": "^3.0.1",
|
||||
"remark-parse": "^10.0.1",
|
||||
"remark-rehype": "^10.1.0",
|
||||
"styled-components": "^5.3.5",
|
||||
"unified": "^10.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@kkt/less-modules": "^7.2.0",
|
||||
"@kkt/raw-modules": "^7.2.0",
|
||||
"@kkt/scope-plugin-options": "^7.2.0",
|
||||
"@types/css-tree": "^1.0.7",
|
||||
"@types/react": "^18.0.17",
|
||||
"@types/react-dom": "^18.0.6",
|
||||
"@types/styled-components": "^5.1.25",
|
||||
"husky": "^8.0.1",
|
||||
"prettier": "^2.7.1",
|
||||
"pretty-quick": "~3.1.3",
|
||||
"kkt": "^7.2.0",
|
||||
"markdown-react-code-preview-loader": "^2.1.2"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"extends": [
|
||||
"react-app",
|
||||
"react-app/jest"
|
||||
]
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.2%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 1 chrome version",
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">
|
||||
<meta name="theme-color" content="#000000" />
|
||||
<title>微信公众号 Markdown 编辑器</title>
|
||||
<meta name="keywords" content="react,simple,monorepo,template,component,project,package,development" />
|
||||
<meta name="description" content="Simple React package development project example template." />
|
||||
<link rel="icon" href="%PUBLIC_URL%favicon.ico" />
|
||||
</head>
|
||||
<body>
|
||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||
<div id="root"></div>
|
||||
<!--
|
||||
This HTML file is a template.
|
||||
If you open it directly in the browser, you will see an empty page.
|
||||
You can add webfonts, meta tags, or analytics to this file.
|
||||
The build step will place the bundled scripts into the <body> tag.
|
||||
To begin the development, run `npm start` or `yarn start`.
|
||||
To create a production bundle, use `npm run build` or `yarn build`.
|
||||
-->
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": ["config:base"],
|
||||
"packageRules": [
|
||||
{
|
||||
"matchPackagePatterns": ["*"],
|
||||
"rangeStrategy": "replace"
|
||||
}
|
||||
]
|
||||
}
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
import { Routes, Route } from 'react-router-dom';
|
||||
import { Layout } from './components/Layout';
|
||||
import { HomePage } from './pages/home';
|
||||
import { EditorPage } from './pages/theme/editor';
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<Routes>
|
||||
<Route path="/" element={<Layout />}>
|
||||
<Route index element={<HomePage />} />
|
||||
<Route path="/editor/theme" element={<EditorPage />} />
|
||||
</Route>
|
||||
</Routes>
|
||||
);
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
import React from 'react';
|
||||
import { ICommand, IMarkdownEditor, ToolBarProps } from '@uiw/react-markdown-editor';
|
||||
import toast from 'react-hot-toast';
|
||||
import styled from 'styled-components';
|
||||
|
||||
const Button = styled.button`
|
||||
white-space: nowrap;
|
||||
width: initial !important;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 0.4rem !important;
|
||||
`;
|
||||
|
||||
const CopyView: React.FC<{ command: ICommand; editorProps: IMarkdownEditor & ToolBarProps }> = (props) => {
|
||||
const { editorProps } = props;
|
||||
const handleClick = () => {
|
||||
const dom = editorProps.preview.current;
|
||||
dom?.focus();
|
||||
window.getSelection()?.removeAllRanges();
|
||||
let range = document.createRange();
|
||||
range.setStartBefore(dom?.firstChild!);
|
||||
range.setEndAfter(dom?.lastChild!);
|
||||
window.getSelection()?.addRange(range);
|
||||
document.execCommand(`copy`);
|
||||
window.getSelection()?.removeAllRanges();
|
||||
toast.success(<div>复制成功!去公众号编辑器复制吧!</div>);
|
||||
};
|
||||
return (
|
||||
<Button type="button" onClick={handleClick}>
|
||||
{props.command.icon} 复制
|
||||
</Button>
|
||||
);
|
||||
};
|
||||
|
||||
export const copy: ICommand = {
|
||||
name: 'copy',
|
||||
keyCommand: 'copy',
|
||||
button: (command, props, opts) => <CopyView command={command} editorProps={{ ...props, ...opts }} />,
|
||||
icon: (
|
||||
<svg fill="currentColor" viewBox="0 0 24 24" height="16" width="16">
|
||||
<path d="M20 2H10a2 2 0 0 0-2 2v2h8a2 2 0 0 1 2 2v8h2a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z" />
|
||||
<path d="M4 22h10c1.103 0 2-.897 2-2V10c0-1.103-.897-2-2-2H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2zm2-10h6v2H6v-2zm0 4h6v2H6v-2z" />
|
||||
</svg>
|
||||
),
|
||||
};
|
||||
@@ -1,27 +0,0 @@
|
||||
import { NavLink } from 'react-router-dom';
|
||||
import { ICommand } from '@uiw/react-markdown-editor';
|
||||
import styled from 'styled-components';
|
||||
|
||||
const Link = styled(NavLink)`
|
||||
font-size: 0.8rem;
|
||||
line-height: 0.8rem;
|
||||
text-decoration: none;
|
||||
padding: 0.18rem 0.3rem;
|
||||
&:hover {
|
||||
color: var(--color-accent-fg);
|
||||
background-color: var(--color-neutral-muted);
|
||||
border-radius: 0.2rem;
|
||||
}
|
||||
`;
|
||||
|
||||
export const cssCommand: ICommand = {
|
||||
name: 'previewTtheme',
|
||||
keyCommand: 'previewTtheme',
|
||||
button: () => <Link to="/editor/theme">编辑主题</Link>,
|
||||
};
|
||||
|
||||
export const previousCommand: ICommand = {
|
||||
name: 'previous',
|
||||
keyCommand: 'previous',
|
||||
button: () => <Link to="/">返回</Link>,
|
||||
};
|
||||
@@ -1,73 +0,0 @@
|
||||
import React, { useContext } from 'react';
|
||||
import { ICommand, IMarkdownEditor, ToolBarProps } from '@uiw/react-markdown-editor';
|
||||
import styled from 'styled-components';
|
||||
import { Context, previewThemes, PreviewThemeValue, themes as editorThemes, ThemeValue } from '../store/context';
|
||||
|
||||
const Select = styled.select`
|
||||
max-width: 4rem;
|
||||
padding: 0;
|
||||
appearance: none;
|
||||
background-color: var(--color-border-muted);
|
||||
border: none;
|
||||
padding: 0 0.2rem 0 0.2rem;
|
||||
margin: 0;
|
||||
font-family: inherit;
|
||||
font-size: 0.3rem;
|
||||
outline: none;
|
||||
height: 1.15rem;
|
||||
cursor: inherit;
|
||||
line-height: inherit;
|
||||
border-radius: 0.2rem;
|
||||
&::-ms-expand {
|
||||
display: none;
|
||||
}
|
||||
`;
|
||||
|
||||
const ThemeView: React.FC<{ command: ICommand; editorProps: IMarkdownEditor & ToolBarProps }> = (props) => {
|
||||
const { theme, setTheme } = useContext(Context);
|
||||
const handleChange = (ev: React.ChangeEvent<HTMLSelectElement>) => setTheme(ev.target.value as any);
|
||||
return (
|
||||
<Select value={theme} onChange={handleChange}>
|
||||
{(Object.keys(editorThemes) as Array<ThemeValue>).map((name, key) => {
|
||||
return (
|
||||
<option key={key} value={name}>
|
||||
{editorThemes[name].label}
|
||||
</option>
|
||||
);
|
||||
})}
|
||||
</Select>
|
||||
);
|
||||
};
|
||||
|
||||
export const theme: ICommand = {
|
||||
name: 'theme',
|
||||
keyCommand: 'theme',
|
||||
button: (command, props, opts) => <ThemeView command={command} editorProps={{ ...props, ...opts }} />,
|
||||
};
|
||||
|
||||
const ThemePreviewView: React.FC<{}> = () => {
|
||||
const { setCss, previewTheme, setPreviewTheme } = useContext(Context);
|
||||
const handleChange = (ev: React.ChangeEvent<HTMLSelectElement>) => {
|
||||
const value = ev.target.value as PreviewThemeValue;
|
||||
console.log('vvvv');
|
||||
setPreviewTheme(value);
|
||||
setCss(previewThemes[value].value);
|
||||
};
|
||||
return (
|
||||
<Select value={previewTheme} onChange={handleChange}>
|
||||
{(Object.keys(previewThemes) as Array<PreviewThemeValue>).map((name, key) => {
|
||||
return (
|
||||
<option value={name} key={key}>
|
||||
{previewThemes[name].label}
|
||||
</option>
|
||||
);
|
||||
})}
|
||||
</Select>
|
||||
);
|
||||
};
|
||||
|
||||
export const previeTheme: ICommand = {
|
||||
name: 'previewTtheme',
|
||||
keyCommand: 'previewTtheme',
|
||||
button: () => <ThemePreviewView />,
|
||||
};
|
||||
@@ -1,25 +0,0 @@
|
||||
import React from 'react';
|
||||
import { ICommand } from '@uiw/react-markdown-editor';
|
||||
import styled from 'styled-components';
|
||||
import { ReactComponent as ColorIcon } from '../assets/color.svg';
|
||||
|
||||
const Title = styled.div`
|
||||
font-size: 0.9rem;
|
||||
font-weight: bold;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
line-height: 1;
|
||||
padding-right: 0.5rem;
|
||||
padding-left: 0.2rem;
|
||||
`;
|
||||
|
||||
export const themeTitle: ICommand = {
|
||||
name: 'themeTitle',
|
||||
keyCommand: 'themeTitle',
|
||||
button: () => (
|
||||
<Title>
|
||||
<ColorIcon width={16} height={16} />
|
||||
主题编辑器
|
||||
</Title>
|
||||
),
|
||||
};
|
||||
@@ -1,100 +0,0 @@
|
||||
import styled from 'styled-components';
|
||||
import { Outlet, NavLink } from 'react-router-dom';
|
||||
import '@wcj/dark-mode';
|
||||
import { ReactComponent as LogoIcon } from '../assets/logo.svg';
|
||||
import { ReactComponent as GithubIcon } from '../assets/github.svg';
|
||||
|
||||
const Warpper = styled.div``;
|
||||
|
||||
const Header = styled.header`
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid var(--color-border-muted);
|
||||
padding: 0.5rem 0.6rem 0.5rem 1rem;
|
||||
`;
|
||||
|
||||
const Article = styled.article`
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 0.6rem;
|
||||
`;
|
||||
|
||||
const Logo = styled(LogoIcon)`
|
||||
max-width: 3.6rem;
|
||||
`;
|
||||
|
||||
const Title = styled.h1`
|
||||
font-size: 1rem;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
user-select: none;
|
||||
sup {
|
||||
color: var(--color-fg-subtle);
|
||||
margin-left: 0.4rem;
|
||||
background-color: var(--color-border-muted);
|
||||
border-radius: 0.1rem;
|
||||
padding: 0 0.2rem;
|
||||
font-weight: normal;
|
||||
font-size: 0.1rem;
|
||||
letter-spacing: -0.1rem;
|
||||
}
|
||||
`;
|
||||
|
||||
const Section = styled.section`
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
dark-mode {
|
||||
font-size: 1.05rem;
|
||||
display: block;
|
||||
line-height: 12px;
|
||||
margin-left: 0.6rem;
|
||||
}
|
||||
a svg {
|
||||
display: block;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: var(--color-theme-text);
|
||||
padding: 0.1rem 0.3rem;
|
||||
box-shadow: inset 0 0 0 var(--color-accent-fg);
|
||||
transition: all 0.3s;
|
||||
font-size: 0.9rem;
|
||||
&.active {
|
||||
box-shadow: inset 0 -0.3rem 0 var(--color-accent-fg);
|
||||
}
|
||||
&:hover:not(.active):not(:last-child) {
|
||||
box-shadow: inset 0 -1.5rem 0 var(--color-accent-fg);
|
||||
color: #fff;
|
||||
border-radius: 0.2rem;
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export function Layout() {
|
||||
return (
|
||||
<Warpper className="wmde-markdown-color">
|
||||
<Header>
|
||||
<Article>
|
||||
<Logo width={28} height={28} />
|
||||
<Title>
|
||||
微信公众号排版编辑器
|
||||
<sup> v{VERSION} </sup>
|
||||
</Title>
|
||||
</Article>
|
||||
<Section>
|
||||
<NavLink to="/">首页</NavLink>
|
||||
<NavLink to="/editor/theme">编辑主题</NavLink>
|
||||
<dark-mode permanent dark="Dark" light="Light" />
|
||||
<a href="https://github.com/jaywcjlove/wxmp" target="__blank">
|
||||
<GithubIcon width={23} height={23} />
|
||||
</a>
|
||||
</Section>
|
||||
</Header>
|
||||
<Outlet />
|
||||
</Warpper>
|
||||
);
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
import React from 'react';
|
||||
import { createRoot } from 'react-dom/client';
|
||||
import { HashRouter } from 'react-router-dom';
|
||||
import BackToUp from '@uiw/react-back-to-top';
|
||||
import { Toaster } from 'react-hot-toast';
|
||||
import { createGlobalStyle } from 'styled-components';
|
||||
import App from './App';
|
||||
import { Provider } from './store/context';
|
||||
|
||||
export const GlobalStyle = createGlobalStyle`
|
||||
[data-color-mode*='dark'], [data-color-mode*='dark'] body {
|
||||
--color-fg-default: #c9d1d9;
|
||||
--color-fg-muted: #8b949e;
|
||||
--color-fg-subtle: #484f58;
|
||||
--color-canvas-default: #0d1117;
|
||||
--color-canvas-subtle: #161b22;
|
||||
--color-border-default: #30363d;
|
||||
--color-border-muted: #21262d;
|
||||
--color-neutral-muted: rgba(110,118,129,0.4);
|
||||
--color-accent-fg: #58a6ff;
|
||||
--color-accent-emphasis: #1f6feb;
|
||||
--color-attention-subtle: rgba(187,128,9,0.15);
|
||||
--color-danger-fg: #f85149;
|
||||
}
|
||||
[data-color-mode*='light'], [data-color-mode*='light'] body {
|
||||
--color-fg-default: #24292f;
|
||||
--color-fg-muted: #57606a;
|
||||
--color-fg-subtle: #6e7781;
|
||||
--color-canvas-default: #ffffff;
|
||||
--color-canvas-subtle: #f6f8fa;
|
||||
--color-border-default: #d0d7de;
|
||||
--color-border-muted: hsla(210,18%,87%,1);
|
||||
--color-neutral-muted: rgba(175,184,193,0.2);
|
||||
--color-accent-fg: #0969da;
|
||||
--color-accent-emphasis: #0969da;
|
||||
--color-attention-subtle: #fff8c5;
|
||||
--color-danger-fg: #cf222e;
|
||||
}
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
|
||||
"Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
|
||||
sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
`;
|
||||
|
||||
const container = document.getElementById('root');
|
||||
const root = createRoot(container!);
|
||||
root.render(
|
||||
<HashRouter>
|
||||
<Toaster />
|
||||
<BackToUp>Top</BackToUp>
|
||||
<GlobalStyle />
|
||||
<Provider>
|
||||
<App />
|
||||
</Provider>
|
||||
</HashRouter>,
|
||||
);
|
||||
@@ -1,19 +0,0 @@
|
||||
import { MarkdownPreviewProps } from '@uiw/react-markdown-preview';
|
||||
import styled from 'styled-components';
|
||||
import { useContext } from 'react';
|
||||
import { Context } from '../../store/context';
|
||||
|
||||
import { markdownToHTML } from '../../utils/markdownToHTML';
|
||||
|
||||
const Warpper = styled.div`
|
||||
width: 375px;
|
||||
padding: 20px;
|
||||
box-shadow: 0 0 60px rgb(0 0 0 / 10%);
|
||||
min-height: 100%;
|
||||
`;
|
||||
|
||||
export const Preview = (props: MarkdownPreviewProps) => {
|
||||
const { css } = useContext(Context);
|
||||
const html = markdownToHTML(props.source || '', css);
|
||||
return <Warpper contentEditable spellCheck={false} dangerouslySetInnerHTML={{ __html: html }} />;
|
||||
};
|
||||
@@ -1,35 +0,0 @@
|
||||
import MarkdownEditor, { getCommands } from '@uiw/react-markdown-editor';
|
||||
import { useContext } from 'react';
|
||||
import { EditorView } from '@codemirror/view';
|
||||
import styled from 'styled-components';
|
||||
import { Preview } from './Preview';
|
||||
import { copy } from '../../commands/copy';
|
||||
import { theme as themeCommand, previeTheme } from '../../commands/theme';
|
||||
import { cssCommand } from '../../commands/css';
|
||||
import { Context, themes } from '../../store/context';
|
||||
|
||||
const Warpper = styled.div`
|
||||
height: calc(100vh - 2.9rem);
|
||||
`;
|
||||
|
||||
export const HomePage = () => {
|
||||
const commands = [...getCommands(), themeCommand];
|
||||
const { theme, markdown, setMarkdown } = useContext(Context);
|
||||
const themeValue = themes[theme].value;
|
||||
const handleChange = (value: string) => setMarkdown(value);
|
||||
return (
|
||||
<Warpper>
|
||||
<MarkdownEditor
|
||||
value={markdown}
|
||||
toolbars={commands}
|
||||
theme={themeValue}
|
||||
toolbarsMode={[cssCommand, previeTheme, copy, 'preview', 'fullscreen']}
|
||||
extensions={[EditorView.lineWrapping]}
|
||||
renderPreview={Preview}
|
||||
onChange={handleChange}
|
||||
visible={true}
|
||||
height="calc(100vh - 4.92rem)"
|
||||
/>
|
||||
</Warpper>
|
||||
);
|
||||
};
|
||||
@@ -1,19 +0,0 @@
|
||||
import { MarkdownPreviewProps } from '@uiw/react-markdown-preview';
|
||||
import styled from 'styled-components';
|
||||
import { useContext } from 'react';
|
||||
import { Context } from '../../store/context';
|
||||
|
||||
import { markdownToHTML } from '../../utils/markdownToHTML';
|
||||
|
||||
const Warpper = styled.div`
|
||||
width: 375px;
|
||||
padding: 20px;
|
||||
box-shadow: 0 0 60px rgb(0 0 0 / 10%);
|
||||
min-height: 100%;
|
||||
`;
|
||||
|
||||
export const Preview = (props: MarkdownPreviewProps) => {
|
||||
const { css, markdown } = useContext(Context);
|
||||
const html = markdownToHTML(markdown, css);
|
||||
return <Warpper contentEditable spellCheck={false} dangerouslySetInnerHTML={{ __html: html }} />;
|
||||
};
|
||||
@@ -1,38 +0,0 @@
|
||||
import MarkdownEditor, { IMarkdownEditor } from '@uiw/react-markdown-editor';
|
||||
import { useContext } from 'react';
|
||||
import { EditorView } from '@codemirror/view';
|
||||
import styled from 'styled-components';
|
||||
import { css as cssLang } from '@codemirror/lang-css';
|
||||
import { Preview } from './Preview';
|
||||
import { copy } from '../../commands/copy';
|
||||
import { previousCommand } from '../../commands/css';
|
||||
import { themeTitle } from '../../commands/title';
|
||||
import { theme as themeCommand, previeTheme } from '../../commands/theme';
|
||||
import { Context, themes } from '../../store/context';
|
||||
|
||||
const Warpper = styled.div`
|
||||
height: calc(100vh - 2.9rem);
|
||||
`;
|
||||
|
||||
export const EditorPage = () => {
|
||||
const commands = [themeTitle, themeCommand, previousCommand];
|
||||
const toolbarsMode: IMarkdownEditor['toolbarsMode'] = [previeTheme, copy, 'preview', 'fullscreen'];
|
||||
const { theme, css, setCss } = useContext(Context);
|
||||
const value = themes[theme].value;
|
||||
const handleChange = (value: string) => setCss(value);
|
||||
return (
|
||||
<Warpper>
|
||||
<MarkdownEditor
|
||||
value={css}
|
||||
theme={value}
|
||||
toolbars={commands}
|
||||
toolbarsMode={toolbarsMode}
|
||||
reExtensions={[EditorView.lineWrapping, cssLang()]}
|
||||
renderPreview={Preview}
|
||||
onChange={handleChange}
|
||||
visible={true}
|
||||
height="calc(100vh - 4.92rem)"
|
||||
/>
|
||||
</Warpper>
|
||||
);
|
||||
};
|
||||
Vendored
-19
@@ -1,19 +0,0 @@
|
||||
/// <reference types="react-scripts" />
|
||||
|
||||
declare module '*.less' {
|
||||
const classes: { readonly [key: string]: string };
|
||||
export default classes;
|
||||
}
|
||||
|
||||
declare var VERSION: string;
|
||||
|
||||
declare module '*.md' {
|
||||
import { CodeBlockData } from 'markdown-react-code-preview-loader';
|
||||
const src: CodeBlockData;
|
||||
export default src;
|
||||
}
|
||||
|
||||
declare module '*.md.css' {
|
||||
const src: string;
|
||||
export default src;
|
||||
}
|
||||
@@ -1,169 +0,0 @@
|
||||
import React, { useEffect } from 'react';
|
||||
import { useSearchParams } from 'react-router-dom';
|
||||
import { defaultTheme } from '@uiw/react-markdown-editor';
|
||||
import { abcdef } from '@uiw/codemirror-theme-abcdef';
|
||||
import { androidstudio } from '@uiw/codemirror-theme-androidstudio';
|
||||
import { atomone } from '@uiw/codemirror-theme-atomone';
|
||||
import { bbedit } from '@uiw/codemirror-theme-bbedit';
|
||||
import { bespin } from '@uiw/codemirror-theme-bespin';
|
||||
import { darcula } from '@uiw/codemirror-theme-darcula';
|
||||
import { dracula } from '@uiw/codemirror-theme-dracula';
|
||||
import { duotoneLight, duotoneDark } from '@uiw/codemirror-theme-duotone';
|
||||
import { eclipse } from '@uiw/codemirror-theme-eclipse';
|
||||
import { githubLight, githubDark } from '@uiw/codemirror-theme-github';
|
||||
import { okaidia } from '@uiw/codemirror-theme-okaidia';
|
||||
import { sublime } from '@uiw/codemirror-theme-sublime';
|
||||
import { xcodeLight, xcodeDark } from '@uiw/codemirror-theme-xcode';
|
||||
import defStyle from '../themes/default.md.css';
|
||||
import simpleStyle from '../themes/simple.md.css';
|
||||
import underscoreStyle from '../themes/underscore.md.css';
|
||||
import baseStyle from '../themes/base.md.css';
|
||||
|
||||
import data from '../../README.md';
|
||||
|
||||
export const themes = {
|
||||
default: {
|
||||
label: '默认主题',
|
||||
value: defaultTheme,
|
||||
},
|
||||
abcdef: {
|
||||
label: 'Abcdef Theme',
|
||||
value: abcdef,
|
||||
},
|
||||
androidstudio: {
|
||||
label: 'Android Studio Theme',
|
||||
value: androidstudio,
|
||||
},
|
||||
atomone: {
|
||||
label: 'Atomone Theme',
|
||||
value: atomone,
|
||||
},
|
||||
bbedit: {
|
||||
label: 'Bbedit Theme',
|
||||
value: bbedit,
|
||||
},
|
||||
bespin: {
|
||||
label: 'Bespin Theme',
|
||||
value: bespin,
|
||||
},
|
||||
darcula: {
|
||||
label: 'Darcula Theme',
|
||||
value: darcula,
|
||||
},
|
||||
dracula: {
|
||||
label: 'Dracula Theme',
|
||||
value: dracula,
|
||||
},
|
||||
duotoneLight: {
|
||||
label: 'Duotone Light Theme',
|
||||
value: duotoneLight,
|
||||
},
|
||||
duotoneDark: {
|
||||
label: 'Duotone Dark Theme',
|
||||
value: duotoneDark,
|
||||
},
|
||||
eclipse: {
|
||||
label: 'Eclipse Theme',
|
||||
value: eclipse,
|
||||
},
|
||||
githubLight: {
|
||||
label: 'Github Light Theme',
|
||||
value: githubLight,
|
||||
},
|
||||
githubDark: {
|
||||
label: 'Github Dark Theme',
|
||||
value: githubDark,
|
||||
},
|
||||
okaidia: {
|
||||
label: 'Okaidia Theme',
|
||||
value: okaidia,
|
||||
},
|
||||
sublime: {
|
||||
label: 'Sublime Theme',
|
||||
value: sublime,
|
||||
},
|
||||
xcodeLight: {
|
||||
label: 'Xcode Light Theme',
|
||||
value: xcodeLight,
|
||||
},
|
||||
xcodeDark: {
|
||||
label: 'Xcode Dark Theme',
|
||||
value: xcodeDark,
|
||||
},
|
||||
};
|
||||
|
||||
export const previewThemes = {
|
||||
default: {
|
||||
label: '翡翠绿',
|
||||
value: defStyle,
|
||||
},
|
||||
simple: {
|
||||
label: '简洁蓝',
|
||||
value: simpleStyle,
|
||||
},
|
||||
underscore: {
|
||||
label: '下划线黄',
|
||||
value: underscoreStyle,
|
||||
},
|
||||
base: {
|
||||
label: '简洁',
|
||||
value: baseStyle,
|
||||
},
|
||||
};
|
||||
|
||||
export type ThemeValue = keyof typeof themes;
|
||||
export type PreviewThemeValue = keyof typeof previewThemes;
|
||||
|
||||
export interface CreateContext {
|
||||
markdown: string;
|
||||
setMarkdown: React.Dispatch<React.SetStateAction<string>>;
|
||||
css: string;
|
||||
setCss: React.Dispatch<React.SetStateAction<string>>;
|
||||
previewTheme: PreviewThemeValue;
|
||||
setPreviewTheme: React.Dispatch<React.SetStateAction<PreviewThemeValue>>;
|
||||
theme: ThemeValue;
|
||||
setTheme: React.Dispatch<React.SetStateAction<ThemeValue>>;
|
||||
}
|
||||
|
||||
export const Context = React.createContext<CreateContext>({
|
||||
markdown: data.source,
|
||||
setMarkdown: () => {},
|
||||
css: previewThemes['underscore'].value,
|
||||
setCss: () => {},
|
||||
previewTheme: 'underscore',
|
||||
setPreviewTheme: () => {},
|
||||
theme: 'default',
|
||||
setTheme: () => {},
|
||||
});
|
||||
|
||||
export const Provider: React.FC<React.PropsWithChildren> = ({ children }) => {
|
||||
const [searchParams, setSearchParams] = useSearchParams();
|
||||
const paramPreviewTheme = searchParams.get('theme') as PreviewThemeValue;
|
||||
const initPreviewTheme = paramPreviewTheme || 'underscore';
|
||||
const [markdown, setMarkdown] = React.useState<string>(data.source);
|
||||
const [css, setCss] = React.useState<string>(previewThemes[initPreviewTheme].value);
|
||||
const [previewTheme, setPreviewTheme] = React.useState<PreviewThemeValue>(initPreviewTheme);
|
||||
const [theme, setTheme] = React.useState<ThemeValue>('default');
|
||||
useEffect(() => {
|
||||
if (paramPreviewTheme !== previewTheme) {
|
||||
searchParams.set('theme', previewTheme);
|
||||
setSearchParams(searchParams);
|
||||
}
|
||||
}, [paramPreviewTheme, previewTheme, searchParams, setSearchParams]);
|
||||
return (
|
||||
<Context.Provider
|
||||
value={{
|
||||
markdown,
|
||||
setMarkdown,
|
||||
css,
|
||||
setCss,
|
||||
previewTheme,
|
||||
setPreviewTheme,
|
||||
theme,
|
||||
setTheme,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
</Context.Provider>
|
||||
);
|
||||
};
|
||||
@@ -1,181 +0,0 @@
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: inherit;
|
||||
font-size: 1.5rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: inherit;
|
||||
margin: 2.5rem 0 1rem 0;
|
||||
font-size: 1.3em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: inherit;
|
||||
margin: 1em 0 1em 0;
|
||||
font-weight: bold;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
h4 {
|
||||
color: inherit;
|
||||
margin: 0.6em 0 0.6em 0;
|
||||
font-weight: bold;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
p {
|
||||
color: initial;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 1.2em;
|
||||
}
|
||||
|
||||
ol {
|
||||
padding-left: 1.2em;
|
||||
}
|
||||
|
||||
li {
|
||||
margin: 0;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
font-style: normal;
|
||||
border-left: none;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 1em;
|
||||
color: rgb(51, 51, 51);
|
||||
background: rgb(248, 248, 248);
|
||||
font-size: 0.85em;
|
||||
font-weight: 400;
|
||||
letter-spacing: normal;
|
||||
word-spacing: 0px;
|
||||
border-radius: 5px;
|
||||
margin: 0.9rem 0;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100% !important;
|
||||
border-collapse: collapse;
|
||||
line-height: 1.35;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
td {
|
||||
border: 1px solid #ddd;
|
||||
padding: 0.25em 0.5em;
|
||||
}
|
||||
|
||||
th {
|
||||
background: rgb(0 0 0 / 5%);
|
||||
border: 1px solid #ddd;
|
||||
padding: 0.25em 0.5em;
|
||||
}
|
||||
|
||||
.code-highlight {
|
||||
text-align: left;
|
||||
font-family: Menlo, 'Operator Mono', Consolas, Monaco, monospace;
|
||||
font-size: 0.85em;
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.code-line {
|
||||
display: block;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.code-spans {
|
||||
text-align: left;
|
||||
line-height: 1;
|
||||
white-space: pre;
|
||||
background: rgba(27, 31, 35, 0.05);
|
||||
padding: 0.2em 0.6em;
|
||||
border-radius: 0.6em;
|
||||
font-weight: bold;
|
||||
font-size: 0.45em;
|
||||
}
|
||||
|
||||
.footnotes-title {
|
||||
display: table;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
margin: 3rem 0 0.6rem 0;
|
||||
padding-left: 0.2rem;
|
||||
}
|
||||
|
||||
.footnotes-list {
|
||||
font-size: 0.75em;
|
||||
font-style: italic;
|
||||
line-height: 1.2;
|
||||
margin: 0.4rem 0;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.image-warpper {
|
||||
text-align: center;
|
||||
margin-bottom: 0rem;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.image {
|
||||
display: initial;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.comment {
|
||||
color: #6a737d;
|
||||
}
|
||||
.property {
|
||||
color: #6f42c1;
|
||||
}
|
||||
.function {
|
||||
color: #6f42c1;
|
||||
}
|
||||
.keyword {
|
||||
color: #d73a49;
|
||||
}
|
||||
.punctuation {
|
||||
color: #0550ae;
|
||||
}
|
||||
.unit {
|
||||
color: #0550ae;
|
||||
}
|
||||
.tag {
|
||||
color: #22863a;
|
||||
}
|
||||
.selector {
|
||||
color: #22863a;
|
||||
}
|
||||
.quote {
|
||||
color: #22863a;
|
||||
}
|
||||
.number {
|
||||
color: #005cc5;
|
||||
}
|
||||
.attr-name {
|
||||
color: #005cc5;
|
||||
}
|
||||
.attr-value {
|
||||
color: #005cc5;
|
||||
}
|
||||
@@ -1,221 +0,0 @@
|
||||
a {
|
||||
color: #576b95;
|
||||
text-decoration: none;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
display: table;
|
||||
text-align: center;
|
||||
color: #3f3f3f;
|
||||
line-height: 1.75;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
margin: 2em auto 1em;
|
||||
padding: 0 1em;
|
||||
border-bottom: 2px solid #009874;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
h2 {
|
||||
display: table;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
line-height: 1.75;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1.3em;
|
||||
font-weight: bold;
|
||||
margin: 4em auto 2em;
|
||||
padding: 0 0.3em;
|
||||
border-radius: 0.3em;
|
||||
background: #009874;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: left;
|
||||
color: #3f3f3f;
|
||||
line-height: 1.2;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin: 2em 8px 0.75em 0;
|
||||
padding-left: 8px;
|
||||
border-left: 3px solid #009874;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 1.2em;
|
||||
}
|
||||
|
||||
ol {
|
||||
padding-left: 1.2em;
|
||||
}
|
||||
|
||||
li {
|
||||
margin: 0;
|
||||
line-height: 1.5em;
|
||||
color: rgb(30 41 59);
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
text-align: left;
|
||||
line-height: 1.75;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 0.85em;
|
||||
font-style: normal;
|
||||
border-left: none;
|
||||
padding: 0.1rem 1rem;
|
||||
border-radius: 4px;
|
||||
background: rgba(27, 31, 35, 0.05);
|
||||
margin: 1rem 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 1em;
|
||||
color: rgb(51, 51, 51);
|
||||
background: rgb(248, 248, 248);
|
||||
font-style: normal;
|
||||
font-variant-ligatures: normal;
|
||||
font-variant-caps: normal;
|
||||
font-weight: 400;
|
||||
letter-spacing: normal;
|
||||
orphans: 2;
|
||||
text-indent: 0px;
|
||||
text-transform: none;
|
||||
widows: 2;
|
||||
word-spacing: 0px;
|
||||
text-decoration-style: initial;
|
||||
text-decoration-color: initial;
|
||||
text-align: left;
|
||||
line-height: 1.5;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
border-radius: 0.3em;
|
||||
margin: 0.9rem 0;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100% !important;
|
||||
border-collapse: collapse;
|
||||
line-height: 1.35;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
td {
|
||||
border: 1px solid #ddd;
|
||||
padding: 0.25em 0.5em;
|
||||
}
|
||||
|
||||
th {
|
||||
background: rgb(0 0 0 / 5%);
|
||||
border: 1px solid #ddd;
|
||||
padding: 0.25em 0.5em;
|
||||
}
|
||||
|
||||
.code-highlight {
|
||||
text-align: left;
|
||||
line-height: 1.75;
|
||||
font-family: Menlo, 'Operator Mono', Consolas, Monaco, monospace;
|
||||
font-size: 0.85em;
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.code-line {
|
||||
display: block;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.code-spans {
|
||||
text-align: left;
|
||||
line-height: 1;
|
||||
white-space: pre;
|
||||
color: #009874;
|
||||
background: rgba(27, 31, 35, 0.05);
|
||||
padding: 0.2em 0.6em;
|
||||
border-radius: 0.6em;
|
||||
font-weight: bold;
|
||||
font-size: 0.45em;
|
||||
}
|
||||
|
||||
.footnotes-title {
|
||||
display: table;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
margin: 3em 0 0.6em 0;
|
||||
padding-left: 0.2em;
|
||||
}
|
||||
|
||||
.footnotes-list {
|
||||
font-size: 0.75em;
|
||||
font-style: italic;
|
||||
line-height: 1.2;
|
||||
margin: 0.4rem 0;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.image-warpper {
|
||||
text-align: center;
|
||||
margin-bottom: 0rem;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.image {
|
||||
display: initial;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.comment {
|
||||
color: #6a737d;
|
||||
}
|
||||
.property {
|
||||
color: #6f42c1;
|
||||
}
|
||||
.function {
|
||||
color: #6f42c1;
|
||||
}
|
||||
.keyword {
|
||||
color: #d73a49;
|
||||
}
|
||||
.punctuation {
|
||||
color: #0550ae;
|
||||
}
|
||||
.unit {
|
||||
color: #0550ae;
|
||||
}
|
||||
.tag {
|
||||
color: #22863a;
|
||||
}
|
||||
.selector {
|
||||
color: #22863a;
|
||||
}
|
||||
.quote {
|
||||
color: #22863a;
|
||||
}
|
||||
.number {
|
||||
color: #005cc5;
|
||||
}
|
||||
.attr-name {
|
||||
color: #005cc5;
|
||||
}
|
||||
.attr-value {
|
||||
color: #005cc5;
|
||||
}
|
||||
@@ -1,221 +0,0 @@
|
||||
a {
|
||||
color: #576b95;
|
||||
text-decoration: none;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
display: table;
|
||||
text-align: center;
|
||||
color: #3f3f3f;
|
||||
line-height: 1.75;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
margin: 2em auto 1em;
|
||||
padding: 0 1em;
|
||||
border-bottom: 2px solid #0f4c81;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
h2 {
|
||||
display: table;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
line-height: 1.75;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
margin: 4em auto 2em;
|
||||
padding: 0 0.3em;
|
||||
border-radius: 0.3rem;
|
||||
background: #0f4c81;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: left;
|
||||
color: #3f3f3f;
|
||||
line-height: 1.2;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin: 2em 8px 0.75em 0;
|
||||
padding-left: 8px;
|
||||
border-left: 3px solid #0f4c81;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 1.2em;
|
||||
}
|
||||
|
||||
ol {
|
||||
padding-left: 1.2em;
|
||||
}
|
||||
|
||||
li {
|
||||
margin: 0;
|
||||
line-height: 1.5em;
|
||||
color: rgb(30 41 59);
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
text-align: left;
|
||||
line-height: 1.75;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 0.85em;
|
||||
font-style: normal;
|
||||
border-left: none;
|
||||
padding: 0.1rem 1rem;
|
||||
border-radius: 4px;
|
||||
background: rgba(27, 31, 35, 0.05);
|
||||
margin: 1rem 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 1em;
|
||||
color: rgb(51, 51, 51);
|
||||
background: rgb(248, 248, 248);
|
||||
font-style: normal;
|
||||
font-variant-ligatures: normal;
|
||||
font-variant-caps: normal;
|
||||
font-weight: 400;
|
||||
letter-spacing: normal;
|
||||
orphans: 2;
|
||||
text-indent: 0px;
|
||||
text-transform: none;
|
||||
widows: 2;
|
||||
word-spacing: 0px;
|
||||
text-decoration-style: initial;
|
||||
text-decoration-color: initial;
|
||||
text-align: left;
|
||||
line-height: 1.5;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
border-radius: 0.3em;
|
||||
margin: 0.9rem 0;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100% !important;
|
||||
border-collapse: collapse;
|
||||
line-height: 1.35;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
td {
|
||||
border: 1px solid #ddd;
|
||||
padding: 0.25em 0.5em;
|
||||
}
|
||||
|
||||
th {
|
||||
background: rgb(0 0 0 / 5%);
|
||||
border: 1px solid #ddd;
|
||||
padding: 0.25em 0.5em;
|
||||
}
|
||||
|
||||
.code-highlight {
|
||||
text-align: left;
|
||||
line-height: 1.75;
|
||||
font-family: Menlo, 'Operator Mono', Consolas, Monaco, monospace;
|
||||
font-size: 0.85em;
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.code-line {
|
||||
display: block;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.code-spans {
|
||||
text-align: left;
|
||||
line-height: 1;
|
||||
white-space: pre;
|
||||
color: #0f4c81;
|
||||
background: rgba(27, 31, 35, 0.05);
|
||||
padding: 0.2em 0.6em;
|
||||
border-radius: 0.6em;
|
||||
font-weight: bold;
|
||||
font-size: 0.45em;
|
||||
}
|
||||
|
||||
.footnotes-title {
|
||||
display: table;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
margin: 3em 0 0.6em 0;
|
||||
padding-left: 0.2em;
|
||||
}
|
||||
|
||||
.footnotes-list {
|
||||
font-size: 0.75em;
|
||||
font-style: italic;
|
||||
line-height: 1.2;
|
||||
margin: 0.4rem 0;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.image-warpper {
|
||||
text-align: center;
|
||||
margin-bottom: 0rem;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.image {
|
||||
display: initial;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.comment {
|
||||
color: #6a737d;
|
||||
}
|
||||
.property {
|
||||
color: #6f42c1;
|
||||
}
|
||||
.function {
|
||||
color: #6f42c1;
|
||||
}
|
||||
.keyword {
|
||||
color: #d73a49;
|
||||
}
|
||||
.punctuation {
|
||||
color: #0550ae;
|
||||
}
|
||||
.unit {
|
||||
color: #0550ae;
|
||||
}
|
||||
.tag {
|
||||
color: #22863a;
|
||||
}
|
||||
.selector {
|
||||
color: #22863a;
|
||||
}
|
||||
.quote {
|
||||
color: #22863a;
|
||||
}
|
||||
.number {
|
||||
color: #005cc5;
|
||||
}
|
||||
.attr-name {
|
||||
color: #005cc5;
|
||||
}
|
||||
.attr-value {
|
||||
color: #005cc5;
|
||||
}
|
||||
@@ -1,218 +0,0 @@
|
||||
a {
|
||||
color: #576b95;
|
||||
text-decoration: none;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
display: table;
|
||||
text-align: center;
|
||||
color: #3f3f3f;
|
||||
line-height: 1.15;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1.3em;
|
||||
font-weight: bold;
|
||||
margin: 2em auto 1em;
|
||||
padding: 0 1em 0.3em 1em;
|
||||
margin-top: 0;
|
||||
box-shadow: inset 0 -0.9rem 0 0 #ffb11b;
|
||||
}
|
||||
|
||||
h2 {
|
||||
display: table;
|
||||
line-height: 1.35;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
padding: 0 0.3em;
|
||||
margin: 2em 0 1em 0;
|
||||
box-shadow: inset 0 -0.7rem 0 0 #ffb11b;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: left;
|
||||
color: #3f3f3f;
|
||||
line-height: 1.2;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin: 2em 8px 0.75em 0;
|
||||
padding-left: 8px;
|
||||
border-left: 5px solid #ffb11b;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 1.2em;
|
||||
}
|
||||
|
||||
ol {
|
||||
padding-left: 1.2em;
|
||||
}
|
||||
|
||||
li {
|
||||
margin: 0;
|
||||
line-height: 1.5em;
|
||||
color: rgb(30 41 59);
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
text-align: left;
|
||||
line-height: 1.75;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 0.85em;
|
||||
font-style: normal;
|
||||
border-left: none;
|
||||
padding: 0.1rem 1rem;
|
||||
border-radius: 4px;
|
||||
background: rgba(27, 31, 35, 0.05);
|
||||
margin: 1rem 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 1em;
|
||||
color: rgb(51, 51, 51);
|
||||
background: rgb(248, 248, 248);
|
||||
font-style: normal;
|
||||
font-variant-ligatures: normal;
|
||||
font-variant-caps: normal;
|
||||
font-weight: 400;
|
||||
letter-spacing: normal;
|
||||
orphans: 2;
|
||||
text-indent: 0px;
|
||||
text-transform: none;
|
||||
widows: 2;
|
||||
word-spacing: 0px;
|
||||
text-decoration-style: initial;
|
||||
text-decoration-color: initial;
|
||||
text-align: left;
|
||||
line-height: 1.5;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
border-radius: 0.3em;
|
||||
margin: 0.9rem 0;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100% !important;
|
||||
border-collapse: collapse;
|
||||
line-height: 1.35;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
td {
|
||||
border: 1px solid #ddd;
|
||||
padding: 0.25em 0.5em;
|
||||
}
|
||||
|
||||
th {
|
||||
background: rgb(0 0 0 / 5%);
|
||||
border: 1px solid #ddd;
|
||||
padding: 0.25em 0.5em;
|
||||
}
|
||||
|
||||
.code-highlight {
|
||||
text-align: left;
|
||||
line-height: 1.75;
|
||||
font-family: Menlo, 'Operator Mono', Consolas, Monaco, monospace;
|
||||
font-size: 0.85em;
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.code-line {
|
||||
display: block;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.code-spans {
|
||||
text-align: left;
|
||||
line-height: 1;
|
||||
white-space: pre;
|
||||
color: #ffb11b;
|
||||
background: rgba(27, 31, 35, 0.05);
|
||||
padding: 0.2em 0.6em;
|
||||
border-radius: 0.6em;
|
||||
font-weight: bold;
|
||||
font-size: 0.45em;
|
||||
}
|
||||
|
||||
.footnotes-title {
|
||||
display: table;
|
||||
font-family: -apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB',
|
||||
'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
margin: 3em 0 0.6em 0;
|
||||
padding-left: 0.2em;
|
||||
}
|
||||
|
||||
.footnotes-list {
|
||||
font-size: 0.75em;
|
||||
font-style: italic;
|
||||
line-height: 1.2;
|
||||
margin: 0.4rem 0;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.image-warpper {
|
||||
text-align: center;
|
||||
margin-bottom: 0rem;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.image {
|
||||
display: initial;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.comment {
|
||||
color: #6a737d;
|
||||
}
|
||||
.property {
|
||||
color: #6f42c1;
|
||||
}
|
||||
.function {
|
||||
color: #6f42c1;
|
||||
}
|
||||
.keyword {
|
||||
color: #d73a49;
|
||||
}
|
||||
.punctuation {
|
||||
color: #0550ae;
|
||||
}
|
||||
.unit {
|
||||
color: #0550ae;
|
||||
}
|
||||
.tag {
|
||||
color: #22863a;
|
||||
}
|
||||
.selector {
|
||||
color: #22863a;
|
||||
}
|
||||
.quote {
|
||||
color: #22863a;
|
||||
}
|
||||
.number {
|
||||
color: #005cc5;
|
||||
}
|
||||
.attr-name {
|
||||
color: #005cc5;
|
||||
}
|
||||
.attr-value {
|
||||
color: #005cc5;
|
||||
}
|
||||
@@ -1,113 +0,0 @@
|
||||
import { RootContent, Element, Text, Root } from 'hast';
|
||||
|
||||
export const getBlock = (data: any, str: string = '') => {
|
||||
if (data && data.data && data.data.type === 'Declaration') {
|
||||
str = `${data.data.property}: ${data.data.value.value}${data.data.important ? ' !important' : ''};`;
|
||||
if (data.next) {
|
||||
str += getBlock(data.next);
|
||||
}
|
||||
}
|
||||
return str;
|
||||
};
|
||||
|
||||
export const cssdata = (list: any, result: Record<string, string> = {}) => {
|
||||
if (list.data && list.data.type === 'Rule') {
|
||||
result[list.data.prelude.value] = getBlock(list.data.block.children.head);
|
||||
if (list.next) {
|
||||
result = cssdata(list.next, { ...result });
|
||||
}
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
export const spaceEscape = (node: RootContent) => {
|
||||
if (node.type === 'element' && node.children) {
|
||||
const className = node.properties?.className as string[];
|
||||
if (className) {
|
||||
if (!node.properties) {
|
||||
node.properties = {};
|
||||
}
|
||||
node.properties.className = className.filter((str: string) => !/(token|control-flow)/.test(str));
|
||||
}
|
||||
|
||||
node.children.map((elm) => {
|
||||
if (elm.type === 'element' && elm.children) {
|
||||
spaceEscape(elm);
|
||||
}
|
||||
if (elm.type === 'text') {
|
||||
elm.value = elm.value.replace(/\s/g, '\u00A0');
|
||||
}
|
||||
return elm;
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
type ChildContent = Element | Text;
|
||||
const getNodeText = (node: ChildContent[]) => {
|
||||
let str = '';
|
||||
node.forEach((item) => {
|
||||
if (item.type === 'text') str += item.value;
|
||||
else if (item.type === 'element') {
|
||||
str += getNodeText(item.children as ChildContent[]);
|
||||
}
|
||||
});
|
||||
return str.replace(/↩/, '');
|
||||
};
|
||||
|
||||
export const footnotes = (node: Element) => {
|
||||
node.children.map((item) => {
|
||||
if (item.type === 'element' && item.tagName === 'h2') {
|
||||
if (!item.properties) item.properties = {};
|
||||
item.properties.className = ['footnotes-title'];
|
||||
item.children = [
|
||||
{
|
||||
type: 'text',
|
||||
value: '参考',
|
||||
},
|
||||
];
|
||||
}
|
||||
if (item.type === 'element' && item.tagName === 'ol') {
|
||||
item.children.map((li) => {
|
||||
if (li.type === 'element' && li.tagName === 'li') {
|
||||
if (!li.properties) li.properties = {};
|
||||
li.properties.className = ['footnotes-list'];
|
||||
li.children = [
|
||||
{
|
||||
type: 'text',
|
||||
value: getNodeText(li.children as ChildContent[]),
|
||||
},
|
||||
];
|
||||
}
|
||||
return li;
|
||||
});
|
||||
}
|
||||
return item;
|
||||
});
|
||||
};
|
||||
|
||||
export const footnotesLabel = (node: Element) => {
|
||||
const label = getNodeText(node.children as ChildContent[]);
|
||||
node.children = [
|
||||
{
|
||||
type: 'text',
|
||||
value: `[${label}]`,
|
||||
},
|
||||
];
|
||||
};
|
||||
|
||||
export const imagesStyle = (node: Element, parent: Root | Element | null) => {
|
||||
if (
|
||||
parent?.type === 'element' &&
|
||||
/(p|a)/.test(parent.tagName) &&
|
||||
node?.type === 'element' &&
|
||||
node.tagName === 'img'
|
||||
) {
|
||||
if (parent.tagName === 'p') {
|
||||
parent.tagName = 'figure';
|
||||
}
|
||||
if (!parent.properties) parent.properties = {};
|
||||
parent.properties.className = ['image-warpper'];
|
||||
if (!node.properties) node.properties = {};
|
||||
node.properties.className = ['image'];
|
||||
}
|
||||
};
|
||||
@@ -1,103 +0,0 @@
|
||||
import { VFile } from 'vfile';
|
||||
import { unified } from 'unified';
|
||||
import * as csstree from 'css-tree';
|
||||
import { Element } from 'hast';
|
||||
import remarkParse from 'remark-parse';
|
||||
import remarkGfm from 'remark-gfm';
|
||||
import remarkRehype from 'remark-rehype';
|
||||
import rehypePrism from 'rehype-prism-plus';
|
||||
import rehypeRaw from 'rehype-raw';
|
||||
import rehypeAttrs from 'rehype-attr';
|
||||
import rehypeIgnore from 'rehype-ignore';
|
||||
import rehypeRewrite from 'rehype-rewrite';
|
||||
import stringify from 'rehype-stringify';
|
||||
import { cssdata, spaceEscape, footnotes, footnotesLabel, imagesStyle } from './css';
|
||||
|
||||
export type MarkdownToHTMLOptions = {};
|
||||
|
||||
export function markdownToHTML(md: string, css: string, options: MarkdownToHTMLOptions = {}) {
|
||||
const ast = csstree.parse(css, {
|
||||
parseAtrulePrelude: false,
|
||||
parseRulePrelude: false,
|
||||
parseValue: false,
|
||||
parseCustomProperty: false,
|
||||
positions: false,
|
||||
});
|
||||
// @ts-ignore
|
||||
const data = cssdata(ast.children.head);
|
||||
const processor = unified()
|
||||
.use(remarkParse)
|
||||
.use(remarkGfm)
|
||||
.use(remarkRehype, { allowDangerousHtml: true })
|
||||
.use(rehypePrism)
|
||||
.use(rehypeRaw)
|
||||
.use(rehypeIgnore, {})
|
||||
.use(rehypeAttrs, { properties: 'attr' })
|
||||
.use(rehypeRewrite, {
|
||||
rewrite: (node, index, parent) => {
|
||||
// @ts-ignore
|
||||
if (
|
||||
node?.type === 'element' &&
|
||||
node?.tagName === 'code' &&
|
||||
parent?.type === 'element' &&
|
||||
parent?.tagName === 'pre'
|
||||
) {
|
||||
spaceEscape(node);
|
||||
}
|
||||
if (
|
||||
node?.type === 'element' &&
|
||||
node.tagName === 'section' &&
|
||||
(node?.properties?.className as string[]).includes('footnotes')
|
||||
) {
|
||||
footnotes(node);
|
||||
}
|
||||
if (node?.type === 'element' && node.tagName === 'sup') {
|
||||
footnotesLabel(node);
|
||||
}
|
||||
if (node?.type === 'element' && node.tagName === 'img') {
|
||||
imagesStyle(node, parent);
|
||||
}
|
||||
// Code Spans style
|
||||
if (
|
||||
node?.type === 'element' &&
|
||||
node?.tagName === 'code' &&
|
||||
parent?.type === 'element' &&
|
||||
parent?.tagName !== 'pre'
|
||||
) {
|
||||
if (!node.properties) node.properties = {};
|
||||
node.properties!.className = ['code-spans'];
|
||||
}
|
||||
// List TODO style
|
||||
if (parent?.type === 'element' && node?.type === 'element' && node?.tagName === 'input') {
|
||||
if (parent && parent.type === 'element') {
|
||||
parent.children = parent?.children.filter((elm) => (elm as Element).tagName !== 'input');
|
||||
}
|
||||
return;
|
||||
}
|
||||
// Support *.md.css
|
||||
if (node?.type === 'element') {
|
||||
if (!node.properties) {
|
||||
node.properties = {};
|
||||
}
|
||||
const className = node.properties?.className as string[];
|
||||
let style = '';
|
||||
if (className) {
|
||||
className.forEach((name) => {
|
||||
if (data[`.${name}`]) {
|
||||
style = data[`.${name}`];
|
||||
}
|
||||
});
|
||||
}
|
||||
if (!style) style = data[node.tagName];
|
||||
if (style) {
|
||||
node.properties.style = style + (node.properties.style || '');
|
||||
}
|
||||
}
|
||||
},
|
||||
})
|
||||
.use(stringify);
|
||||
const file = new VFile();
|
||||
file.value = md;
|
||||
const hastNode = processor.runSync(processor.parse(file), file);
|
||||
return String(processor.stringify(hastNode, file));
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[1086],{1086(e,t,n){function r(e){for(var t={},n=e.split(" "),r=0;r<n.length;++r)t[n[r]]=!0;return t}n.d(t,{modelica:()=>z});var o=r("algorithm and annotation assert block break class connect connector constant constrainedby der discrete each else elseif elsewhen encapsulated end enumeration equation expandable extends external false final flow for function if import impure in initial inner input loop model not operator or outer output package parameter partial protected public pure record redeclare replaceable return stream then true type when while within"),i=r("abs acos actualStream asin atan atan2 cardinality ceil cos cosh delay div edge exp floor getInstanceName homotopy inStream integer log log10 mod pre reinit rem semiLinear sign sin sinh spatialDistribution sqrt tan tanh"),l=r("Real Boolean Integer String"),a=[].concat(Object.keys(o),Object.keys(i),Object.keys(l)),u=/[;=\(:\),{}.*<>+\-\/^\[\]]/,s=/(:=|<=|>=|==|<>|\.\+|\.\-|\.\*|\.\/|\.\^)/,c=/[0-9]/,k=/[_a-zA-Z]/;function p(e,t){return e.skipToEnd(),t.tokenize=null,"comment"}function f(e,t){for(var n,r=!1;n=e.next();){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return"comment"}function m(e,t){for(var n,r=!1;null!=(n=e.next());){if('"'==n&&!r){t.tokenize=null,t.sol=!1;break}r=!r&&"\\"==n}return"string"}function b(e,t){for(e.eatWhile(c);e.eat(c)||e.eat(k););var n=e.current();return!t.sol||"package"!=n&&"model"!=n&&"when"!=n&&"connector"!=n?t.sol&&"end"==n&&t.level>0&&t.level--:t.level++,t.tokenize=null,t.sol=!1,o.propertyIsEnumerable(n)?"keyword":i.propertyIsEnumerable(n)?"builtin":l.propertyIsEnumerable(n)?"atom":"variable"}function d(e,t){for(;e.eat(/[^']/););return t.tokenize=null,t.sol=!1,e.eat("'")?"variable":"error"}function h(e,t){return e.eatWhile(c),e.eat(".")&&e.eatWhile(c),(e.eat("e")||e.eat("E"))&&(e.eat("-")||e.eat("+"),e.eatWhile(c)),t.tokenize=null,t.sol=!1,"number"}const z={name:"modelica",startState:function(){return{tokenize:null,level:0,sol:!0}},token:function(e,t){if(null!=t.tokenize)return t.tokenize(e,t);if(e.sol()&&(t.sol=!0),e.eatSpace())return t.tokenize=null,null;var n=e.next();if("/"==n&&e.eat("/"))t.tokenize=p;else if("/"==n&&e.eat("*"))t.tokenize=f;else{if(s.test(n+e.peek()))return e.next(),t.tokenize=null,"operator";if(u.test(n))return t.tokenize=null,"operator";if(k.test(n))t.tokenize=b;else if("'"==n&&e.peek()&&"'"!=e.peek())t.tokenize=d;else if('"'==n)t.tokenize=m;else{if(!c.test(n))return t.tokenize=null,"error";t.tokenize=h}}return t.tokenize(e,t)},indent:function(e,t,n){if(null!=e.tokenize)return null;var r=e.level;return/(algorithm)/.test(t)&&r--,/(equation)/.test(t)&&r--,/(initial algorithm)/.test(t)&&r--,/(initial equation)/.test(t)&&r--,/(end)/.test(t)&&r--,r>0?n.unit*r:0},languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:a}}}}]);
|
||||
//# sourceMappingURL=1086.ef834f85.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[1140],{1140(T,O,E){function I(T){for(var O={},E=T.split(" "),I=0;I<E.length;++I)O[E[I]]=!0;return O}E.d(O,{pig:()=>C});var N="ABS ACOS ARITY ASIN ATAN AVG BAGSIZE BINSTORAGE BLOOM BUILDBLOOM CBRT CEIL CONCAT COR COS COSH COUNT COUNT_STAR COV CONSTANTSIZE CUBEDIMENSIONS DIFF DISTINCT DOUBLEABS DOUBLEAVG DOUBLEBASE DOUBLEMAX DOUBLEMIN DOUBLEROUND DOUBLESUM EXP FLOOR FLOATABS FLOATAVG FLOATMAX FLOATMIN FLOATROUND FLOATSUM GENERICINVOKER INDEXOF INTABS INTAVG INTMAX INTMIN INTSUM INVOKEFORDOUBLE INVOKEFORFLOAT INVOKEFORINT INVOKEFORLONG INVOKEFORSTRING INVOKER ISEMPTY JSONLOADER JSONMETADATA JSONSTORAGE LAST_INDEX_OF LCFIRST LOG LOG10 LOWER LONGABS LONGAVG LONGMAX LONGMIN LONGSUM MAX MIN MAPSIZE MONITOREDUDF NONDETERMINISTIC OUTPUTSCHEMA PIGSTORAGE PIGSTREAMING RANDOM REGEX_EXTRACT REGEX_EXTRACT_ALL REPLACE ROUND SIN SINH SIZE SQRT STRSPLIT SUBSTRING SUM STRINGCONCAT STRINGMAX STRINGMIN STRINGSIZE TAN TANH TOBAG TOKENIZE TOMAP TOP TOTUPLE TRIM TEXTLOADER TUPLESIZE UCFIRST UPPER UTF8STORAGECONVERTER ",e="VOID IMPORT RETURNS DEFINE LOAD FILTER FOREACH ORDER CUBE DISTINCT COGROUP JOIN CROSS UNION SPLIT INTO IF OTHERWISE ALL AS BY USING INNER OUTER ONSCHEMA PARALLEL PARTITION GROUP AND OR NOT GENERATE FLATTEN ASC DESC IS STREAM THROUGH STORE MAPREDUCE SHIP CACHE INPUT OUTPUT STDERROR STDIN STDOUT LIMIT SAMPLE LEFT RIGHT FULL EQ GT LT GTE LTE NEQ MATCHES TRUE FALSE DUMP",A="BOOLEAN INT LONG FLOAT DOUBLE CHARARRAY BYTEARRAY BAG TUPLE MAP ",R=I(N),S=I(e),t=I(A),L=/[*+\-%<>=&?:\/!|]/;function r(T,O,E){return O.tokenize=E,E(T,O)}function n(T,O){for(var E,I=!1;E=T.next();){if("/"==E&&I){O.tokenize=U;break}I="*"==E}return"comment"}function U(T,O){var E,I=T.next();return'"'==I||"'"==I?r(T,O,(E=I,function(T,O){for(var I,N=!1,e=!1;null!=(I=T.next());){if(I==E&&!N){e=!0;break}N=!N&&"\\"==I}return!e&&N||(O.tokenize=U),"error"})):/[\[\]{}\(\),;\.]/.test(I)?null:/\d/.test(I)?(T.eatWhile(/[\w\.]/),"number"):"/"==I?T.eat("*")?r(T,O,n):(T.eatWhile(L),"operator"):"-"==I?T.eat("-")?(T.skipToEnd(),"comment"):(T.eatWhile(L),"operator"):L.test(I)?(T.eatWhile(L),"operator"):(T.eatWhile(/[\w\$_]/),S&&S.propertyIsEnumerable(T.current().toUpperCase())&&!T.eat(")")&&!T.eat(".")?"keyword":R&&R.propertyIsEnumerable(T.current().toUpperCase())?"builtin":t&&t.propertyIsEnumerable(T.current().toUpperCase())?"type":"variable")}const C={name:"pig",startState:function(){return{tokenize:U,startOfLine:!0}},token:function(T,O){return T.eatSpace()?null:O.tokenize(T,O)},languageData:{autocomplete:(N+A+e).split(" ")}}}}]);
|
||||
//# sourceMappingURL=1140.f47f2678.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[1899],{1899(E,t,e){function R(E){var t=[];return E.split(" ").forEach(function(E){t.push({name:E})}),t}e.d(t,{forth:()=>r});var i=R("INVERT AND OR XOR 2* 2/ LSHIFT RSHIFT 0= = 0< < > U< MIN MAX 2DROP 2DUP 2OVER 2SWAP ?DUP DEPTH DROP DUP OVER ROT SWAP >R R> R@ + - 1+ 1- ABS NEGATE S>D * M* UM* FM/MOD SM/REM UM/MOD */ */MOD / /MOD MOD HERE , @ ! CELL+ CELLS C, C@ C! CHARS 2@ 2! ALIGN ALIGNED +! ALLOT CHAR [CHAR] [ ] BL FIND EXECUTE IMMEDIATE COUNT LITERAL STATE ; DOES> >BODY EVALUATE SOURCE >IN <# # #S #> HOLD SIGN BASE >NUMBER HEX DECIMAL FILL MOVE . CR EMIT SPACE SPACES TYPE U. .R U.R ACCEPT TRUE FALSE <> U> 0<> 0> NIP TUCK ROLL PICK 2>R 2R@ 2R> WITHIN UNUSED MARKER I J TO COMPILE, [COMPILE] SAVE-INPUT RESTORE-INPUT PAD ERASE 2LITERAL DNEGATE D- D+ D0< D0= D2* D2/ D< D= DMAX DMIN D>S DABS M+ M*/ D. D.R 2ROT DU< CATCH THROW FREE RESIZE ALLOCATE CS-PICK CS-ROLL GET-CURRENT SET-CURRENT FORTH-WORDLIST GET-ORDER SET-ORDER PREVIOUS SEARCH-WORDLIST WORDLIST FIND ALSO ONLY FORTH DEFINITIONS ORDER -TRAILING /STRING SEARCH COMPARE CMOVE CMOVE> BLANK SLITERAL"),O=R("IF ELSE THEN BEGIN WHILE REPEAT UNTIL RECURSE [IF] [ELSE] [THEN] ?DO DO LOOP +LOOP UNLOOP LEAVE EXIT AGAIN CASE OF ENDOF ENDCASE");function T(E,t){var e;for(e=E.length-1;e>=0;e--)if(E[e].name===t.toUpperCase())return E[e]}const r={name:"forth",startState:function(){return{state:"",base:10,coreWordList:i,immediateWordList:O,wordList:[]}},token:function(E,t){var e;if(E.eatSpace())return null;if(""===t.state){if(E.match(/^(\]|:NONAME)(\s|$)/i))return t.state=" compilation","builtin";if(e=E.match(/^(\:)\s+(\S+)(\s|$)+/))return t.wordList.push({name:e[2].toUpperCase()}),t.state=" compilation","def";if(e=E.match(/^(VARIABLE|2VARIABLE|CONSTANT|2CONSTANT|CREATE|POSTPONE|VALUE|WORD)\s+(\S+)(\s|$)+/i))return t.wordList.push({name:e[2].toUpperCase()}),"def";if(e=E.match(/^(\'|\[\'\])\s+(\S+)(\s|$)+/))return"builtin"}else{if(E.match(/^(\;|\[)(\s)/))return t.state="",E.backUp(1),"builtin";if(E.match(/^(\;|\[)($)/))return t.state="","builtin";if(E.match(/^(POSTPONE)\s+\S+(\s|$)+/))return"builtin"}return(e=E.match(/^(\S+)(\s+|$)/))?void 0!==T(t.wordList,e[1])?"variable":"\\"===e[1]?(E.skipToEnd(),"comment"):void 0!==T(t.coreWordList,e[1])?"builtin":void 0!==T(t.immediateWordList,e[1])?"keyword":"("===e[1]?(E.eatWhile(function(E){return")"!==E}),E.eat(")"),"comment"):".("===e[1]?(E.eatWhile(function(E){return")"!==E}),E.eat(")"),"string"):'S"'===e[1]||'."'===e[1]||'C"'===e[1]?(E.eatWhile(function(E){return'"'!==E}),E.eat('"'),"string"):e[1]-68719476735?"number":"atom":void 0}}}}]);
|
||||
//# sourceMappingURL=1899.0d30545a.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[1947],{1947(e,t,n){function r(e){for(var t={},n=e.split(" "),r=0;r<n.length;++r)t[n[r]]=!0;return t}n.d(t,{ttcn:()=>T});const i={name:"ttcn",keywords:r("activate address alive all alt altstep and and4b any break case component const continue control deactivate display do else encode enumerated except exception execute extends extension external for from function goto group if import in infinity inout interleave label language length log match message mixed mod modifies module modulepar mtc noblock not not4b nowait of on optional or or4b out override param pattern port procedure record recursive rem repeat return runs select self sender set signature system template testcase to type union value valueof var variant while with xor xor4b"),builtin:r("bit2hex bit2int bit2oct bit2str char2int char2oct encvalue decomp decvalue float2int float2str hex2bit hex2int hex2oct hex2str int2bit int2char int2float int2hex int2oct int2str int2unichar isbound ischosen ispresent isvalue lengthof log2str oct2bit oct2char oct2hex oct2int oct2str regexp replace rnd sizeof str2bit str2float str2hex str2int str2oct substr unichar2int unichar2char enum2int"),types:r("anytype bitstring boolean char charstring default float hexstring integer objid octetstring universal verdicttype timer"),timerOps:r("read running start stop timeout"),portOps:r("call catch check clear getcall getreply halt raise receive reply send trigger"),configOps:r("create connect disconnect done kill killed map unmap"),verdictOps:r("getverdict setverdict"),sutOps:r("action"),functionOps:r("apply derefers refers"),verdictConsts:r("error fail inconc none pass"),booleanConsts:r("true false"),otherConsts:r("null NULL omit"),visibilityModifiers:r("private public friend"),templateMatch:r("complement ifpresent subset superset permutation"),multiLineStrings:!0};var o=[];function a(e){if(e)for(var t in e)e.hasOwnProperty(t)&&o.push(t)}a(i.keywords),a(i.builtin),a(i.timerOps),a(i.portOps);var s,l=i.keywords||{},c=i.builtin||{},u=i.timerOps||{},p=i.portOps||{},m=i.configOps||{},f=i.verdictOps||{},d=i.sutOps||{},b=i.functionOps||{},h=i.verdictConsts||{},y=i.booleanConsts||{},v=i.otherConsts||{},g=i.types||{},x=i.visibilityModifiers||{},k=i.templateMatch||{},w=i.multiLineStrings,O=!1!==i.indentStatements,E=/[+\-*&@=<>!\/]/;function I(e,t){var n,r=e.next();if('"'==r||"'"==r)return t.tokenize=(n=r,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){var a=e.peek();a&&("b"!=(a=a.toLowerCase())&&"h"!=a&&"o"!=a||e.next()),o=!0;break}i=!i&&"\\"==r}return(o||!i&&!w)&&(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\\:\?\.]/.test(r))return s=r,"punctuation";if("#"==r)return e.skipToEnd(),"atom";if("%"==r)return e.eatWhile(/\b/),"atom";if(/\d/.test(r))return e.eatWhile(/[\w\.]/),"number";if("/"==r){if(e.eat("*"))return t.tokenize=z,z(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(E.test(r))return"@"==r&&(e.match("try")||e.match("catch")||e.match("lazy"))?"keyword":(e.eatWhile(E),"operator");e.eatWhile(/[\w\$_\xa1-\uffff]/);var i=e.current();return l.propertyIsEnumerable(i)?"keyword":c.propertyIsEnumerable(i)?"builtin":u.propertyIsEnumerable(i)||m.propertyIsEnumerable(i)||f.propertyIsEnumerable(i)||p.propertyIsEnumerable(i)||d.propertyIsEnumerable(i)||b.propertyIsEnumerable(i)?"def":h.propertyIsEnumerable(i)||y.propertyIsEnumerable(i)||v.propertyIsEnumerable(i)?"string":g.propertyIsEnumerable(i)?"typeName.standard":x.propertyIsEnumerable(i)?"modifier":k.propertyIsEnumerable(i)?"atom":"variable"}function z(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function C(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function L(e,t,n){var r=e.indented;return e.context&&"statement"==e.context.type&&(r=e.context.indented),e.context=new C(r,t,n,null,e.context)}function S(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}const T={name:"ttcn",startState:function(){return{tokenize:null,context:new C(0,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;s=null;var r=(t.tokenize||I)(e,t);if("comment"==r)return r;if(null==n.align&&(n.align=!0),";"!=s&&":"!=s&&","!=s||"statement"!=n.type)if("{"==s)L(t,e.column(),"}");else if("["==s)L(t,e.column(),"]");else if("("==s)L(t,e.column(),")");else if("}"==s){for(;"statement"==n.type;)n=S(t);for("}"==n.type&&(n=S(t));"statement"==n.type;)n=S(t)}else s==n.type?S(t):O&&(("}"==n.type||"top"==n.type)&&";"!=s||"statement"==n.type&&"newstatement"==s)&&L(t,e.column(),"statement");else S(t);return t.startOfLine=!1,r},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:o}}}}]);
|
||||
//# sourceMappingURL=1947.78824a11.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[1993],{1993(r,e,t){t.d(e,{rpmChanges:()=>i,rpmSpec:()=>h});var a=/^-+$/,n=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ?\d{1,2} \d{2}:\d{2}(:\d{2})? [A-Z]{3,4} \d{4} - /,c=/^[\w+.-]+@[\w.-]+/;const i={name:"rpmchanges",token:function(r){if(r.sol()){if(r.match(a))return"tag";if(r.match(n))return"tag"}return r.match(c)?"string":(r.next(),null)}};var o=/^(i386|i586|i686|x86_64|ppc64le|ppc64|ppc|ia64|s390x|s390|sparc64|sparcv9|sparc|noarch|alphaev6|alpha|hppa|mipsel)/,p=/^[a-zA-Z0-9()]+:/,s=/^%(debug_package|package|description|prep|build|install|files|clean|changelog|preinstall|preun|postinstall|postun|pretrans|posttrans|pre|post|triggerin|triggerun|verifyscript|check|triggerpostun|triggerprein|trigger)/,u=/^%(ifnarch|ifarch|if)/,l=/^%(else|endif)/,m=/^(\!|\?|\<\=|\<|\>\=|\>|\=\=|\&\&|\|\|)/;const h={name:"rpmspec",startState:function(){return{controlFlow:!1,macroParameters:!1,section:!1}},token:function(r,e){if("#"==r.peek())return r.skipToEnd(),"comment";if(r.sol()){if(r.match(p))return"header";if(r.match(s))return"atom"}if(r.match(/^\$\w+/))return"def";if(r.match(/^\$\{\w+\}/))return"def";if(r.match(l))return"keyword";if(r.match(u))return e.controlFlow=!0,"keyword";if(e.controlFlow){if(r.match(m))return"operator";if(r.match(/^(\d+)/))return"number";r.eol()&&(e.controlFlow=!1)}if(r.match(o))return r.eol()&&(e.controlFlow=!1),"number";if(r.match(/^%[\w]+/))return r.match("(")&&(e.macroParameters=!0),"keyword";if(e.macroParameters){if(r.match(/^\d+/))return"number";if(r.match(")"))return e.macroParameters=!1,"keyword"}return r.match(/^%\{\??[\w \-\:\!]+\}/)?(r.eol()&&(e.controlFlow=!1),"def"):(r.next(),null)}}}}]);
|
||||
//# sourceMappingURL=1993.92c2a834.chunk.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"static/js/1993.92c2a834.chunk.js","mappings":"mJAAA,IAAIA,EAAkB,OAClBC,EAAa,sIACbC,EAAc,oBAEX,MAAMC,EAAa,CACxBC,KAAM,aACNC,MAAO,SAASC,GACd,GAAIA,EAAOC,MAAO,CAChB,GAAID,EAAOE,MAAMR,GAAoB,MAAO,MAC5C,GAAIM,EAAOE,MAAMP,GAAe,MAAO,KACzC,CACA,OAAIK,EAAOE,MAAMN,GAAuB,UACxCI,EAAOG,OACA,KACT,GAKF,IAAIC,EAAO,qHAEPC,EAAW,mBACXC,EAAU,2NACVC,EAAuB,wBACvBC,EAAsB,iBACtBC,EAAY,0CAET,MAAMC,EAAU,CACrBZ,KAAM,UACNa,WAAY,WACV,MAAO,CACLC,aAAa,EACbC,iBAAiB,EACjBP,SAAS,EAEb,EACAP,MAAO,SAAUC,EAAQc,GAEvB,GAAU,KADDd,EAAOe,OACqB,OAApBf,EAAOgB,YAAoB,UAE5C,GAAIhB,EAAOC,MAAO,CAChB,GAAID,EAAOE,MAAMG,GAAa,MAAO,SACrC,GAAIL,EAAOE,MAAMI,GAAY,MAAO,MACtC,CAEA,GAAIN,EAAOE,MAAM,UAAa,MAAO,MACrC,GAAIF,EAAOE,MAAM,cAAiB,MAAO,MAEzC,GAAIF,EAAOE,MAAMM,GAAwB,MAAO,UAChD,GAAIR,EAAOE,MAAMK,GAEf,OADAO,EAAMF,aAAc,EACb,UAET,GAAIE,EAAMF,YAAa,CACrB,GAAIZ,EAAOE,MAAMO,GAAc,MAAO,WACtC,GAAIT,EAAOE,MAAM,UAAa,MAAO,SACjCF,EAAOiB,QAASH,EAAMF,aAAc,EAC1C,CAEA,GAAIZ,EAAOE,MAAME,GAEf,OADIJ,EAAOiB,QAASH,EAAMF,aAAc,GACjC,SAIT,GAAIZ,EAAOE,MAAM,WAEf,OADIF,EAAOE,MAAM,OAAQY,EAAMD,iBAAkB,GAC1C,UAET,GAAIC,EAAMD,gBAAiB,CACzB,GAAIb,EAAOE,MAAM,QAAW,MAAO,SACnC,GAAIF,EAAOE,MAAM,KAEf,OADAY,EAAMD,iBAAkB,EACjB,SAEX,CAGA,OAAIb,EAAOE,MAAM,0BACXF,EAAOiB,QAASH,EAAMF,aAAc,GACjC,QAGTZ,EAAOG,OACA,KACT,E","sources":["../../node_modules/@codemirror/legacy-modes/mode/rpm.js"],"sourcesContent":["var headerSeparator = /^-+$/;\nvar headerLine = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ?\\d{1,2} \\d{2}:\\d{2}(:\\d{2})? [A-Z]{3,4} \\d{4} - /;\nvar simpleEmail = /^[\\w+.-]+@[\\w.-]+/;\n\nexport const rpmChanges = {\n name: \"rpmchanges\",\n token: function(stream) {\n if (stream.sol()) {\n if (stream.match(headerSeparator)) { return 'tag'; }\n if (stream.match(headerLine)) { return 'tag'; }\n }\n if (stream.match(simpleEmail)) { return 'string'; }\n stream.next();\n return null;\n }\n}\n\n// Quick and dirty spec file highlighting\n\nvar arch = /^(i386|i586|i686|x86_64|ppc64le|ppc64|ppc|ia64|s390x|s390|sparc64|sparcv9|sparc|noarch|alphaev6|alpha|hppa|mipsel)/;\n\nvar preamble = /^[a-zA-Z0-9()]+:/;\nvar section = /^%(debug_package|package|description|prep|build|install|files|clean|changelog|preinstall|preun|postinstall|postun|pretrans|posttrans|pre|post|triggerin|triggerun|verifyscript|check|triggerpostun|triggerprein|trigger)/;\nvar control_flow_complex = /^%(ifnarch|ifarch|if)/; // rpm control flow macros\nvar control_flow_simple = /^%(else|endif)/; // rpm control flow macros\nvar operators = /^(\\!|\\?|\\<\\=|\\<|\\>\\=|\\>|\\=\\=|\\&\\&|\\|\\|)/; // operators in control flow macros\n\nexport const rpmSpec = {\n name: \"rpmspec\",\n startState: function () {\n return {\n controlFlow: false,\n macroParameters: false,\n section: false\n };\n },\n token: function (stream, state) {\n var ch = stream.peek();\n if (ch == \"#\") { stream.skipToEnd(); return \"comment\"; }\n\n if (stream.sol()) {\n if (stream.match(preamble)) { return \"header\"; }\n if (stream.match(section)) { return \"atom\"; }\n }\n\n if (stream.match(/^\\$\\w+/)) { return \"def\"; } // Variables like '$RPM_BUILD_ROOT'\n if (stream.match(/^\\$\\{\\w+\\}/)) { return \"def\"; } // Variables like '${RPM_BUILD_ROOT}'\n\n if (stream.match(control_flow_simple)) { return \"keyword\"; }\n if (stream.match(control_flow_complex)) {\n state.controlFlow = true;\n return \"keyword\";\n }\n if (state.controlFlow) {\n if (stream.match(operators)) { return \"operator\"; }\n if (stream.match(/^(\\d+)/)) { return \"number\"; }\n if (stream.eol()) { state.controlFlow = false; }\n }\n\n if (stream.match(arch)) {\n if (stream.eol()) { state.controlFlow = false; }\n return \"number\";\n }\n\n // Macros like '%make_install' or '%attr(0775,root,root)'\n if (stream.match(/^%[\\w]+/)) {\n if (stream.match('(')) { state.macroParameters = true; }\n return \"keyword\";\n }\n if (state.macroParameters) {\n if (stream.match(/^\\d+/)) { return \"number\";}\n if (stream.match(')')) {\n state.macroParameters = false;\n return \"keyword\";\n }\n }\n\n // Macros like '%{defined fedora}'\n if (stream.match(/^%\\{\\??[\\w \\-\\:\\!]+\\}/)) {\n if (stream.eol()) { state.controlFlow = false; }\n return \"def\";\n }\n\n stream.next();\n return null;\n }\n};\n\n"],"names":["headerSeparator","headerLine","simpleEmail","rpmChanges","name","token","stream","sol","match","next","arch","preamble","section","control_flow_complex","control_flow_simple","operators","rpmSpec","startState","controlFlow","macroParameters","state","peek","skipToEnd","eol"],"sourceRoot":""}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[2007],{2007(e,t,n){function r(e){for(var t={},n=e.split(" "),r=0;r<n.length;++r)t[n[r]]=!0;return t}n.d(t,{asn1:()=>s});const i={keywords:r("DEFINITIONS OBJECTS IF DERIVED INFORMATION ACTION REPLY ANY NAMED CHARACTERIZED BEHAVIOUR REGISTERED WITH AS IDENTIFIED CONSTRAINED BY PRESENT BEGIN IMPORTS FROM UNITS SYNTAX MIN-ACCESS MAX-ACCESS MINACCESS MAXACCESS REVISION STATUS DESCRIPTION SEQUENCE SET COMPONENTS OF CHOICE DistinguishedName ENUMERATED SIZE MODULE END INDEX AUGMENTS EXTENSIBILITY IMPLIED EXPORTS"),cmipVerbs:r("ACTIONS ADD GET NOTIFICATIONS REPLACE REMOVE"),compareTypes:r("OPTIONAL DEFAULT MANAGED MODULE-TYPE MODULE_IDENTITY MODULE-COMPLIANCE OBJECT-TYPE OBJECT-IDENTITY OBJECT-COMPLIANCE MODE CONFIRMED CONDITIONAL SUBORDINATE SUPERIOR CLASS TRUE FALSE NULL TEXTUAL-CONVENTION"),status:r("current deprecated mandatory obsolete"),tags:r("APPLICATION AUTOMATIC EXPLICIT IMPLICIT PRIVATE TAGS UNIVERSAL"),storage:r("BOOLEAN INTEGER OBJECT IDENTIFIER BIT OCTET STRING UTCTime InterfaceIndex IANAifType CMIP-Attribute REAL PACKAGE PACKAGES IpAddress PhysAddress NetworkAddress BITS BMPString TimeStamp TimeTicks TruthValue RowStatus DisplayString GeneralString GraphicString IA5String NumericString PrintableString SnmpAdminString TeletexString UTF8String VideotexString VisibleString StringStore ISO646String T61String UniversalString Unsigned32 Integer32 Gauge Gauge32 Counter Counter32 Counter64"),modifier:r("ATTRIBUTE ATTRIBUTES MANDATORY-GROUP MANDATORY-GROUPS GROUP GROUPS ELEMENTS EQUALITY ORDERING SUBSTRINGS DEFINED"),accessTypes:r("not-accessible accessible-for-notify read-only read-create read-write"),multiLineStrings:!0};function s(e){var t,n=e.keywords||i.keywords,r=e.cmipVerbs||i.cmipVerbs,s=e.compareTypes||i.compareTypes,a=e.status||i.status,E=e.tags||i.tags,o=e.storage||i.storage,I=e.modifier||i.modifier,T=e.accessTypes||i.accessTypes,S=e.multiLineStrings||i.multiLineStrings,u=!1!==e.indentStatements,l=/[\|\^]/;function A(e,i){var u,A=e.next();if('"'==A||"'"==A)return i.tokenize=(u=A,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==u&&!r){var s=e.peek();s&&("b"!=(s=s.toLowerCase())&&"h"!=s&&"o"!=s||e.next()),i=!0;break}r=!r&&"\\"==n}return(i||!r&&!S)&&(t.tokenize=null),"string"}),i.tokenize(e,i);if(/[\[\]\(\){}:=,;]/.test(A))return t=A,"punctuation";if("-"==A&&e.eat("-"))return e.skipToEnd(),"comment";if(/\d/.test(A))return e.eatWhile(/[\w\.]/),"number";if(l.test(A))return e.eatWhile(l),"operator";e.eatWhile(/[\w\-]/);var N=e.current();return n.propertyIsEnumerable(N)?"keyword":r.propertyIsEnumerable(N)?"variableName":s.propertyIsEnumerable(N)?"atom":a.propertyIsEnumerable(N)?"comment":E.propertyIsEnumerable(N)?"typeName":o.propertyIsEnumerable(N)||I.propertyIsEnumerable(N)||T.propertyIsEnumerable(N)?"modifier":"variableName"}function N(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function p(e,t,n){var r=e.indented;return e.context&&"statement"==e.context.type&&(r=e.context.indented),e.context=new N(r,t,n,null,e.context)}function c(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}return{name:"asn1",startState:function(){return{tokenize:null,context:new N(-2,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,n){var r=n.context;if(e.sol()&&(null==r.align&&(r.align=!1),n.indented=e.indentation(),n.startOfLine=!0),e.eatSpace())return null;t=null;var i=(n.tokenize||A)(e,n);if("comment"==i)return i;if(null==r.align&&(r.align=!0),";"!=t&&":"!=t&&","!=t||"statement"!=r.type)if("{"==t)p(n,e.column(),"}");else if("["==t)p(n,e.column(),"]");else if("("==t)p(n,e.column(),")");else if("}"==t){for(;"statement"==r.type;)r=c(n);for("}"==r.type&&(r=c(n));"statement"==r.type;)r=c(n)}else t==r.type?c(n):u&&(("}"==r.type||"top"==r.type)&&";"!=t||"statement"==r.type&&"newstatement"==t)&&p(n,e.column(),"statement");else c(n);return n.startOfLine=!1,i},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"--"}}}}}}]);
|
||||
//# sourceMappingURL=2007.3507122f.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[2066],{2066(O,e,t){t.d(e,{vue:()=>y});var r=t(4859),n=t(5221),a=t(4013),o=t(1345),i=t(4450),l=t(4179);const u=l.U1.deserialize({version:14,states:"%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",stateData:"$g~OjOS~OQROUROkQO~OWTOXUOZUO`VO~OSXOTWO~OXUO[]OlZO~OY^O~O[_O~OT`O~OYaO~OmcOodO~OmfOogO~O^iOnhO~O_jOphO~ObkOqkOrmO~OcnOsnOtmO~OnpO~OppO~ObkOqkOrrO~OcnOsnOtrO~OWX`~",goto:"!^hPPPiPPPPPPPPPmPPPpPPsy!Q!WTROSRe]Re_QSORYSS[T^Rb[QlfRqlQogRso",nodeNames:"\u26a0 Content Text Interpolation InterpolationContent }} Entity Attribute VueAttributeName : Identifier @ Is ScriptAttributeValue AttributeScript AttributeScript AttributeName AttributeValue Entity Entity",maxTerm:36,nodeProps:[["isolate",-3,3,13,17,""]],skippedNodes:[0],repeatNodeCount:4,tokenData:"'y~RdXY!aYZ!a]^!apq!ars!rwx!w}!O!|!O!P#t!Q![#y![!]$s!_!`%g!b!c%l!c!}#y#R#S#y#T#j#y#j#k%q#k#o#y%W;'S#y;'S;:j$m<%lO#y~!fSj~XY!aYZ!a]^!apq!a~!wOm~~!|Oo~!b#RX`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|!b#qP;=`<%l!|~#yOl~%W$QXY#t`!b}!O!|!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y%W$pP;=`<%l#y~$zXX~`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|~%lO[~~%qOZ~%W%xXY#t`!b}!O&e!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y!b&jX`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|!b'^XW!b`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|",tokenizers:[6,7,new l.uC("b~RP#q#rU~XP#q#r[~aOT~~",17,4),new l.uC("!k~RQvwX#o#p!_~^TU~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOU~~![P;=`<%lm~!bP#o#p!e~!jOk~~",72,2),new l.uC("[~RPwxU~ZOp~~",11,15),new l.uC("[~RPrsU~ZOn~~",11,14),new l.uC("!e~RQvwXwx!_~^Tc~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOc~~![P;=`<%lm~!dOt~~",66,35),new l.uC("!e~RQrsXvw^~^Or~~cTb~Oprq!]r!^;'Sr;'S;=`!^<%lOr~uUOprq!]r!]!^!X!^;'Sr;'S;=`!^<%lOr~!^Ob~~!aP;=`<%lr~",66,33)],topRules:{Content:[0,1],Attribute:[1,7]},tokenPrec:157}),p=a.o$.parser.configure({top:"SingleExpression"}),s=u.configure({props:[(0,o.pn)({Text:o._A.content,Is:o._A.definitionOperator,AttributeName:o._A.attributeName,VueAttributeName:o._A.keyword,Identifier:o._A.variableName,"AttributeValue ScriptAttributeValue":o._A.attributeValue,Entity:o._A.character,"{{ }}":o._A.brace,"@ :":o._A.punctuation})]}),b={parser:p},S={parser:s.configure({wrap:(0,i.$g)((O,e)=>"InterpolationContent"==O.name?b:null)})},m={parser:s.configure({wrap:(0,i.$g)((O,e)=>"AttributeScript"==O.name?b:null),top:"Attribute"})},c=(0,n.html)();function Q(O){return O.configure({dialect:"selfClosing",wrap:(0,i.$g)(g)},"vue")}const P=Q(c.language);function g(O,e){switch(O.name){case"Attribute":return/^(@|:|v-)/.test(e.read(O.from,O.from+2))?m:null;case"Text":return S}return null}function y(){let O=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=c;if(O.base){if("html"!=O.base.language.name||!(O.base.language instanceof r.bj))throw new RangeError("The base option must be the result of calling html(...)");e=O.base}return new r.Yy(e.language==c.language?P:Q(e.language),[e.support,e.language.data.of({closeBrackets:{brackets:["{",'"']}})])}}}]);
|
||||
//# sourceMappingURL=2066.e3915248.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[2290],{2290(e,t,r){r.d(t,{tiddlyWiki:()=>y});var n={},i={allTags:!0,closeAll:!0,list:!0,newJournal:!0,newTiddler:!0,permaview:!0,saveChanges:!0,search:!0,slider:!0,tabs:!0,tag:!0,tagging:!0,tags:!0,tiddler:!0,timeline:!0,today:!0,version:!0,option:!0,with:!0,filter:!0},a=/[\w_\-]/i,u=/^\-\-\-\-+$/,o=/^\/\*\*\*$/,c=/^\*\*\*\/$/,f=/^<<<$/,l=/^\/\/\{\{\{$/,m=/^\/\/\}\}\}$/,k=/^<!--\{\{\{-->$/,h=/^<!--\}\}\}-->$/,s=/^\{\{\{$/,b=/^\}\}\}$/,d=/.*?\}\}\}/;function p(e,t,r){return t.tokenize=r,r(e,t)}function w(e,t){var r=e.sol(),i=e.peek();if(t.block=!1,r&&/[<\/\*{}\-]/.test(i)){if(e.match(s))return t.block=!0,p(e,t,g);if(e.match(f))return"quote";if(e.match(o)||e.match(c))return"comment";if(e.match(l)||e.match(m)||e.match(k)||e.match(h))return"comment";if(e.match(u))return"contentSeparator"}if(e.next(),r&&/[\/\*!#;:>|]/.test(i)){if("!"==i)return e.skipToEnd(),"header";if("*"==i)return e.eatWhile("*"),"comment";if("#"==i)return e.eatWhile("#"),"comment";if(";"==i)return e.eatWhile(";"),"comment";if(":"==i)return e.eatWhile(":"),"comment";if(">"==i)return e.eatWhile(">"),"quote";if("|"==i)return"header"}if("{"==i&&e.match("{{"))return p(e,t,g);if(/[hf]/i.test(i)&&/[ti]/i.test(e.peek())&&e.match(/\b(ttps?|tp|ile):\/\/[\-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i))return"link";if('"'==i)return"string";if("~"==i)return"brace";if(/[\[\]]/.test(i)&&e.match(i))return"brace";if("@"==i)return e.eatWhile(a),"link";if(/\d/.test(i))return e.eatWhile(/\d/),"number";if("/"==i){if(e.eat("%"))return p(e,t,$);if(e.eat("/"))return p(e,t,z)}if("_"==i&&e.eat("_"))return p(e,t,W);if("-"==i&&e.eat("-")){if(" "!=e.peek())return p(e,t,x);if(" "==e.peek())return"brace"}return"'"==i&&e.eat("'")?p(e,t,v):"<"==i&&e.eat("<")?p(e,t,_):(e.eatWhile(/[\w\$_]/),n.propertyIsEnumerable(e.current())?"keyword":null)}function $(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=w;break}n="%"==r}return"comment"}function v(e,t){for(var r,n=!1;r=e.next();){if("'"==r&&n){t.tokenize=w;break}n="'"==r}return"strong"}function g(e,t){var r=t.block;return r&&e.current()?"comment":!r&&e.match(d)||r&&e.sol()&&e.match(b)?(t.tokenize=w,"comment"):(e.next(),"comment")}function z(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=w;break}n="/"==r}return"emphasis"}function W(e,t){for(var r,n=!1;r=e.next();){if("_"==r&&n){t.tokenize=w;break}n="_"==r}return"link"}function x(e,t){for(var r,n=!1;r=e.next();){if("-"==r&&n){t.tokenize=w;break}n="-"==r}return"deleted"}function _(e,t){if("<<"==e.current())return"meta";var r=e.next();return r?">"==r&&">"==e.peek()?(e.next(),t.tokenize=w,"meta"):(e.eatWhile(/[\w\$_]/),i.propertyIsEnumerable(e.current())?"keyword":null):(t.tokenize=w,null)}const y={name:"tiddlywiki",startState:function(){return{tokenize:w}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}}}}]);
|
||||
//# sourceMappingURL=2290.68727587.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[2433],{2433(e,t,n){n.d(t,{protobuf:()=>u});var a=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],i=new RegExp("^(("+a.join(")|(")+"))\\b","i"),r=new RegExp("^[_A-Za-z\xa1-\uffff][_A-Za-z0-9\xa1-\uffff]*");const u={name:"protobuf",token:function(e){if(e.eatSpace())return null;if(e.match("//"))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+/))return"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number";if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return e.match(/^"([^"]|(""))*"/)||e.match(/^'([^']|(''))*'/)?"string":e.match(i)?"keyword":e.match(r)?"variable":(e.next(),null)},languageData:{autocomplete:a}}}}]);
|
||||
//# sourceMappingURL=2433.53953aa5.chunk.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"static/js/2433.53953aa5.chunk.js","mappings":"mIAIA,IAAIA,EAAe,CACjB,UAAW,UAAW,SAAU,SAChC,WAAY,WAAY,WAAY,WAAY,UAAW,aAAc,SACzE,OAAQ,QAAS,SAAU,OAAQ,QAAS,SAC5C,QAAS,QAAS,SAAU,SAAU,SAAU,SAAU,UAAW,UAAW,WAAY,WAC5F,SAAU,UAAW,MAAO,WAE1BC,EAVK,IAAIC,OAAO,MAUMF,EAVQG,KAAK,OAAS,QAAS,KAYrDC,EAAc,IAAIF,OAAO,iDAmCtB,MAAMG,EAAW,CACtBC,KAAM,WACNC,MAnCF,SAAmBC,GAEjB,GAAIA,EAAOC,WAAY,OAAO,KAG9B,GAAID,EAAOE,MAAM,MAEf,OADAF,EAAOG,YACA,UAIT,GAAIH,EAAOE,MAAM,cAAc,GAAQ,CACrC,GAAIF,EAAOE,MAAM,wBACf,MAAO,SACT,GAAIF,EAAOE,MAAM,mCACf,MAAO,SACT,GAAIF,EAAOE,MAAM,8BACf,MAAO,QACX,CAGA,OAAIF,EAAOE,MAAM,oBACbF,EAAOE,MAAM,mBAD6B,SAI1CF,EAAOE,MAAMT,GAAoB,UACjCO,EAAOE,MAAMN,GAAuB,YAGxCI,EAAOI,OACA,KACT,EAKEC,aAAc,CACZC,aAAcd,G","sources":["../../node_modules/@codemirror/legacy-modes/mode/protobuf.js"],"sourcesContent":["function wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\", \"i\");\n};\n\nvar keywordArray = [\n \"package\", \"message\", \"import\", \"syntax\",\n \"required\", \"optional\", \"repeated\", \"reserved\", \"default\", \"extensions\", \"packed\",\n \"bool\", \"bytes\", \"double\", \"enum\", \"float\", \"string\",\n \"int32\", \"int64\", \"uint32\", \"uint64\", \"sint32\", \"sint64\", \"fixed32\", \"fixed64\", \"sfixed32\", \"sfixed64\",\n \"option\", \"service\", \"rpc\", \"returns\"\n];\nvar keywords = wordRegexp(keywordArray);\n\nvar identifiers = new RegExp(\"^[_A-Za-z\\xa1-\\uffff][_A-Za-z0-9\\xa1-\\uffff]*\");\n\nfunction tokenBase(stream) {\n // whitespaces\n if (stream.eatSpace()) return null;\n\n // Handle one line Comments\n if (stream.match(\"//\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n\n // Handle Number Literals\n if (stream.match(/^[0-9\\.+-]/, false)) {\n if (stream.match(/^[+-]?0x[0-9a-fA-F]+/))\n return \"number\";\n if (stream.match(/^[+-]?\\d*\\.\\d+([EeDd][+-]?\\d+)?/))\n return \"number\";\n if (stream.match(/^[+-]?\\d+([EeDd][+-]?\\d+)?/))\n return \"number\";\n }\n\n // Handle Strings\n if (stream.match(/^\"([^\"]|(\"\"))*\"/)) { return \"string\"; }\n if (stream.match(/^'([^']|(''))*'/)) { return \"string\"; }\n\n // Handle words\n if (stream.match(keywords)) { return \"keyword\"; }\n if (stream.match(identifiers)) { return \"variable\"; } ;\n\n // Handle non-detected items\n stream.next();\n return null;\n};\n\nexport const protobuf = {\n name: \"protobuf\",\n token: tokenBase,\n languageData: {\n autocomplete: keywordArray\n }\n}\n"],"names":["keywordArray","keywords","RegExp","join","identifiers","protobuf","name","token","stream","eatSpace","match","skipToEnd","next","languageData","autocomplete"],"sourceRoot":""}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[2682],{2682(e,t,a){function n(e){return new RegExp("^(?:"+e.join("|")+")$","i")}a.d(t,{lua:()=>m});var r=n(["_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load","loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require","select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall","coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield","debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable","debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable","debug.setupvalue","debug.traceback","close","flush","lines","read","seek","setvbuf","write","io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin","io.stdout","io.tmpfile","io.type","io.write","math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg","math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max","math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh","math.sqrt","math.tan","math.tanh","os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale","os.time","os.tmpname","package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload","package.seeall","string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub","string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper","table.concat","table.insert","table.maxn","table.remove","table.sort"]),o=n(["and","break","elseif","false","nil","not","or","return","true","function","end","if","then","else","do","while","repeat","until","for","in","local"]),i=n(["function","if","repeat","do","\\(","{"]),s=n(["end","until","\\)","}"]),l=new RegExp("^(?:"+["end","until","\\)","}","else","elseif"].join("|")+")","i");function u(e){for(var t=0;e.eat("=");)++t;return e.eat("["),t}function c(e,t){var a,n=e.next();return"-"==n&&e.eat("-")?e.eat("[")&&e.eat("[")?(t.cur=g(u(e),"comment"))(e,t):(e.skipToEnd(),"comment"):'"'==n||"'"==n?(t.cur=(a=n,function(e,t){for(var n,r=!1;null!=(n=e.next())&&(n!=a||r);)r=!r&&"\\"==n;return r||(t.cur=c),"string"}))(e,t):"["==n&&/[\[=]/.test(e.peek())?(t.cur=g(u(e),"string"))(e,t):/\d/.test(n)?(e.eatWhile(/[\w.%]/),"number"):/[\w_]/.test(n)?(e.eatWhile(/[\w\\\-_.]/),"variable"):null}function g(e,t){return function(a,n){for(var r,o=null;null!=(r=a.next());)if(null==o)"]"==r&&(o=0);else if("="==r)++o;else{if("]"==r&&o==e){n.cur=c;break}o=null}return t}}const m={name:"lua",startState:function(){return{basecol:0,indentDepth:0,cur:c}},token:function(e,t){if(e.eatSpace())return null;var a=t.cur(e,t),n=e.current();return"variable"==a&&(o.test(n)?a="keyword":r.test(n)&&(a="builtin")),"comment"!=a&&"string"!=a&&(i.test(n)?++t.indentDepth:s.test(n)&&--t.indentDepth),a},indent:function(e,t,a){var n=l.test(t);return e.basecol+a.unit*(e.indentDepth-(n?1:0))},languageData:{indentOnInput:/^\s*(?:end|until|else|\)|\})$/,commentTokens:{line:"--",block:{open:"--[[",close:"]]--"}}}}}}]);
|
||||
//# sourceMappingURL=2682.b39108dc.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[3067],{3067(e,t,n){n.d(t,{yacas:()=>m});var r=function(e){for(var t={},n=e.split(" "),r=0;r<n.length;++r)t[n[r]]=!0;return t}("Assert BackQuote D Defun Deriv For ForEach FromFile FromString Function Integrate InverseTaylor Limit LocalSymbols Macro MacroRule MacroRulePattern NIntegrate Rule RulePattern Subst TD TExplicitSum TSum Taylor Taylor1 Taylor2 Taylor3 ToFile ToStdout ToString TraceRule Until While"),o="(?:[a-zA-Z\\$'][a-zA-Z0-9\\$']*)",a=new RegExp("(?:(?:\\.\\d+|\\d+\\.\\d*|\\d+)(?:[eE][+-]?\\d+)?)"),i=new RegExp(o),c=new RegExp(o+"?_"+o),u=new RegExp(o+"\\s*\\(");function l(e,t){var n;if('"'===(n=e.next()))return t.tokenize=s,t.tokenize(e,t);if("/"===n){if(e.eat("*"))return t.tokenize=p,t.tokenize(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}e.backUp(1);var o=e.match(/^(\w+)\s*\(/,!1);null!==o&&r.hasOwnProperty(o[1])&&t.scopes.push("bodied");var l=k(t);if("bodied"===l&&"["===n&&t.scopes.pop(),"["!==n&&"{"!==n&&"("!==n||t.scopes.push(n),("["===(l=k(t))&&"]"===n||"{"===l&&"}"===n||"("===l&&")"===n)&&t.scopes.pop(),";"===n)for(;"bodied"===l;)t.scopes.pop(),l=k(t);return e.match(/\d+ *#/,!0,!1)?"qualifier":e.match(a,!0,!1)?"number":e.match(c,!0,!1)?"variableName.special":e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":e.match(u,!0,!1)?(e.backUp(1),"variableName.function"):e.match(i,!0,!1)?"variable":e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%|#)/,!0,!1)?"operator":"error"}function s(e,t){for(var n,r=!1,o=!1;null!=(n=e.next());){if('"'===n&&!o){r=!0;break}o=!o&&"\\"===n}return r&&!o&&(t.tokenize=l),"string"}function p(e,t){for(var n,r;null!=(r=e.next());){if("*"===n&&"/"===r){t.tokenize=l;break}n=r}return"comment"}function k(e){var t=null;return e.scopes.length>0&&(t=e.scopes[e.scopes.length-1]),t}const m={name:"yacas",startState:function(){return{tokenize:l,scopes:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},indent:function(e,t,n){if(e.tokenize!==l&&null!==e.tokenize)return null;var r=0;return"]"!==t&&"];"!==t&&"}"!==t&&"};"!==t&&");"!==t||(r=-1),(e.scopes.length+r)*n.unit},languageData:{electricInput:/[{}\[\]()\;]/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}}}}]);
|
||||
//# sourceMappingURL=3067.89d2fe6f.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[3171],{3171(e,t,n){n.d(t,{q:()=>p});var o,r=new RegExp("^("+["abs","acos","aj","aj0","all","and","any","asc","asin","asof","atan","attr","avg","avgs","bin","by","ceiling","cols","cor","cos","count","cov","cross","csv","cut","delete","deltas","desc","dev","differ","distinct","div","do","each","ej","enlist","eval","except","exec","exit","exp","fby","fills","first","fkeys","flip","floor","from","get","getenv","group","gtime","hclose","hcount","hdel","hopen","hsym","iasc","idesc","if","ij","in","insert","inter","inv","key","keys","last","like","list","lj","load","log","lower","lsq","ltime","ltrim","mavg","max","maxs","mcount","md5","mdev","med","meta","min","mins","mmax","mmin","mmu","mod","msum","neg","next","not","null","or","over","parse","peach","pj","plist","prd","prds","prev","prior","rand","rank","ratios","raze","read0","read1","reciprocal","reverse","rload","rotate","rsave","rtrim","save","scan","select","set","setenv","show","signum","sin","sqrt","ss","ssr","string","sublist","sum","sums","sv","system","tables","tan","til","trim","txf","type","uj","ungroup","union","update","upper","upsert","value","var","view","views","vs","wavg","where","where","while","within","wj","wj1","wsum","xasc","xbar","xcol","xcols","xdesc","xexp","xgroup","xkey","xlog","xprev","xrank"].join("|")+")$"),i=/[|/&^!+:\\\-*%$=~#;@><,?_\'\"\[\(\]\)\s{}]/;function s(e,t){var n=e.sol(),c=e.next();if(o=null,n){if("/"==c)return(t.tokenize=a)(e,t);if("\\"==c)return e.eol()||/\s/.test(e.peek())?(e.skipToEnd(),/^\\\s*$/.test(e.current())?(t.tokenize=l)(e):t.tokenize=s,"comment"):(t.tokenize=s,"builtin")}if(/\s/.test(c))return"/"==e.peek()?(e.skipToEnd(),"comment"):"null";if('"'==c)return(t.tokenize=u)(e,t);if("`"==c)return e.eatWhile(/[A-Za-z\d_:\/.]/),"macroName";if("."==c&&/\d/.test(e.peek())||/\d/.test(c)){var d=null;return e.backUp(1),e.match(/^\d{4}\.\d{2}(m|\.\d{2}([DT](\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)?)?)/)||e.match(/^\d+D(\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)/)||e.match(/^\d{2}:\d{2}(:\d{2}(\.\d{1,9})?)?/)||e.match(/^\d+[ptuv]{1}/)?d="temporal":(e.match(/^0[NwW]{1}/)||e.match(/^0x[\da-fA-F]*/)||e.match(/^[01]+[b]{1}/)||e.match(/^\d+[chijn]{1}/)||e.match(/-?\d*(\.\d*)?(e[+\-]?\d+)?(e|f)?/))&&(d="number"),!d||(c=e.peek())&&!i.test(c)?(e.next(),"error"):d}return/[A-Za-z]|\./.test(c)?(e.eatWhile(/[A-Za-z._\d]/),r.test(e.current())?"keyword":"variable"):/[|/&^!+:\\\-*%$=~#;@><\.,?_\']/.test(c)||/[{}\(\[\]\)]/.test(c)?null:"error"}function a(e,t){return e.skipToEnd(),/^\/\s*$/.test(e.current())?(t.tokenize=c)(e,t):t.tokenize=s,"comment"}function c(e,t){var n=e.sol()&&"\\"==e.peek();return e.skipToEnd(),n&&/^\\\s*$/.test(e.current())&&(t.tokenize=s),"comment"}function l(e){return e.skipToEnd(),"comment"}function u(e,t){for(var n,o=!1,r=!1;n=e.next();){if('"'==n&&!o){r=!0;break}o=!o&&"\\"==n}return r&&(t.tokenize=s),"string"}function d(e,t,n){e.context={prev:e.context,indent:e.indent,col:n,type:t}}function m(e){e.indent=e.context.indent,e.context=e.context.prev}const p={name:"q",startState:function(){return{tokenize:s,context:null,indent:0,col:0}},token:function(e,t){e.sol()&&(t.context&&null==t.context.align&&(t.context.align=!1),t.indent=e.indentation());var n=t.tokenize(e,t);if("comment"!=n&&t.context&&null==t.context.align&&"pattern"!=t.context.type&&(t.context.align=!0),"("==o)d(t,")",e.column());else if("["==o)d(t,"]",e.column());else if("{"==o)d(t,"}",e.column());else if(/[\]\}\)]/.test(o)){for(;t.context&&"pattern"==t.context.type;)m(t);t.context&&o==t.context.type&&m(t)}else"."==o&&t.context&&"pattern"==t.context.type?m(t):/atom|string|variable/.test(n)&&t.context&&(/[\}\]]/.test(t.context.type)?d(t,"pattern",e.column()):"pattern"!=t.context.type||t.context.align||(t.context.align=!0,t.context.col=e.column()));return n},indent:function(e,t,n){var o=t&&t.charAt(0),r=e.context;if(/[\]\}]/.test(o))for(;r&&"pattern"==r.type;)r=r.prev;var i=r&&o==r.type;return r?"pattern"==r.type?r.col:r.align?r.col+(i?0:1):r.indent+(i?0:n.unit):0},languageData:{commentTokens:{line:"/"}}}}}]);
|
||||
//# sourceMappingURL=3171.ffc748d6.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[3492],{3492(e,r,o){function t(e){var r={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},o=e.extraWords||{};for(var t in o)o.hasOwnProperty(t)&&(r[t]=e.extraWords[t]);var n=[];for(var i in r)n.push(i);function d(o,t){var n=o.next();if('"'===n)return t.tokenize=w,t.tokenize(o,t);if("{"===n&&o.eat("|"))return t.longString=!0,t.tokenize=y,t.tokenize(o,t);if("("===n&&o.match(/^\*(?!\))/))return t.commentLevel++,t.tokenize=k,t.tokenize(o,t);if("~"===n||"?"===n)return o.eatWhile(/\w/),"variableName.special";if("`"===n)return o.eatWhile(/\w/),"quote";if("/"===n&&e.slashComments&&o.eat("/"))return o.skipToEnd(),"comment";if(/\d/.test(n))return"0"===n&&o.eat(/[bB]/)&&o.eatWhile(/[01]/),"0"===n&&o.eat(/[xX]/)&&o.eatWhile(/[0-9a-fA-F]/),"0"===n&&o.eat(/[oO]/)?o.eatWhile(/[0-7]/):(o.eatWhile(/[\d_]/),o.eat(".")&&o.eatWhile(/[\d]/),o.eat(/[eE]/)&&o.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(n))return"operator";if(/[\w\xa1-\uffff]/.test(n)){o.eatWhile(/[\w\xa1-\uffff]/);var i=o.current();return r.hasOwnProperty(i)?r[i]:"variable"}return null}function w(e,r){for(var o,t=!1,n=!1;null!=(o=e.next());){if('"'===o&&!n){t=!0;break}n=!n&&"\\"===o}return t&&!n&&(r.tokenize=d),"string"}function k(e,r){for(var o,t;r.commentLevel>0&&null!=(t=e.next());)"("===o&&"*"===t&&r.commentLevel++,"*"===o&&")"===t&&r.commentLevel--,o=t;return r.commentLevel<=0&&(r.tokenize=d),"comment"}function y(e,r){for(var o,t;r.longString&&null!=(t=e.next());)"|"===o&&"}"===t&&(r.longString=!1),o=t;return r.longString||(r.tokenize=d),"string"}return{startState:function(){return{tokenize:d,commentLevel:0,longString:!1}},token:function(e,r){return e.eatSpace()?null:r.tokenize(e,r)},languageData:{autocomplete:n,commentTokens:{line:e.slashComments?"//":void 0,block:{open:"(*",close:"*)"}}}}}o.d(r,{fSharp:()=>i,oCaml:()=>n,sml:()=>d});const n=t({name:"ocaml",extraWords:{and:"keyword",assert:"keyword",begin:"keyword",class:"keyword",constraint:"keyword",done:"keyword",downto:"keyword",external:"keyword",function:"keyword",initializer:"keyword",lazy:"keyword",match:"keyword",method:"keyword",module:"keyword",mutable:"keyword",new:"keyword",nonrec:"keyword",object:"keyword",private:"keyword",sig:"keyword",to:"keyword",try:"keyword",value:"keyword",virtual:"keyword",when:"keyword",raise:"builtin",failwith:"builtin",true:"builtin",false:"builtin",asr:"builtin",land:"builtin",lor:"builtin",lsl:"builtin",lsr:"builtin",lxor:"builtin",mod:"builtin",or:"builtin",raise_notrace:"builtin",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",int:"type",float:"type",bool:"type",char:"type",string:"type",unit:"type",List:"builtin"}}),i=t({name:"fsharp",extraWords:{abstract:"keyword",assert:"keyword",base:"keyword",begin:"keyword",class:"keyword",default:"keyword",delegate:"keyword","do!":"keyword",done:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",extern:"keyword",finally:"keyword",for:"keyword",function:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",match:"keyword",member:"keyword",module:"keyword",mutable:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword","return!":"keyword",return:"keyword",select:"keyword",static:"keyword",to:"keyword",try:"keyword",upcast:"keyword","use!":"keyword",use:"keyword",void:"keyword",when:"keyword","yield!":"keyword",yield:"keyword",atomic:"keyword",break:"keyword",checked:"keyword",component:"keyword",const:"keyword",constraint:"keyword",constructor:"keyword",continue:"keyword",eager:"keyword",event:"keyword",external:"keyword",fixed:"keyword",method:"keyword",mixin:"keyword",object:"keyword",parallel:"keyword",process:"keyword",protected:"keyword",pure:"keyword",sealed:"keyword",tailcall:"keyword",trait:"keyword",virtual:"keyword",volatile:"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",Option:"builtin",int:"builtin",string:"builtin",not:"builtin",true:"builtin",false:"builtin",raise:"builtin",failwith:"builtin"},slashComments:!0}),d=t({name:"sml",extraWords:{abstype:"keyword",and:"keyword",andalso:"keyword",case:"keyword",datatype:"keyword",fn:"keyword",handle:"keyword",infix:"keyword",infixr:"keyword",local:"keyword",nonfix:"keyword",op:"keyword",orelse:"keyword",raise:"keyword",withtype:"keyword",eqtype:"keyword",sharing:"keyword",sig:"keyword",signature:"keyword",structure:"keyword",where:"keyword",true:"keyword",false:"keyword",int:"builtin",real:"builtin",string:"builtin",char:"builtin",bool:"builtin"},slashComments:!0})}}]);
|
||||
//# sourceMappingURL=3492.e45215ef.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[3498],{3498(e,t,a){a.d(t,{spreadsheet:()=>s});const s={name:"spreadsheet",startState:function(){return{stringType:null,stack:[]}},token:function(e,t){if(e){switch(0===t.stack.length&&('"'!=e.peek()&&"'"!=e.peek()||(t.stringType=e.peek(),e.next(),t.stack.unshift("string"))),t.stack[0]){case"string":for(;"string"===t.stack[0]&&!e.eol();)e.peek()===t.stringType?(e.next(),t.stack.shift()):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return"string";case"characterClass":for(;"characterClass"===t.stack[0]&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(/^\\./)||t.stack.shift();return"operator"}var a=e.peek();switch(a){case"[":return e.next(),t.stack.unshift("characterClass"),"bracket";case":":return e.next(),"operator";case"\\":return e.match(/\\[a-z]+/)?"string.special":(e.next(),"atom");case".":case",":case";":case"*":case"-":case"+":case"^":case"<":case"/":case"=":return e.next(),"atom";case"$":return e.next(),"builtin"}return e.match(/\d+/)?e.match(/^\w+/)?"error":"number":e.match(/^[a-zA-Z_]\w*/)?e.match(/(?=[\(.])/,!1)?"keyword":"variable":-1!=["[","]","(",")","{","}"].indexOf(a)?(e.next(),"bracket"):(e.eatSpace()||e.next(),null)}}}}}]);
|
||||
//# sourceMappingURL=3498.0e9a9b25.chunk.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"static/js/3498.0e9a9b25.chunk.js","mappings":"sIAAO,MAAMA,EAAc,CACzBC,KAAM,cAENC,WAAY,WACV,MAAO,CACLC,WAAY,KACZC,MAAO,GAEX,EACAC,MAAO,SAAUC,EAAQC,GACvB,GAAKD,EAAL,CAcA,OAX2B,IAAvBC,EAAMH,MAAMI,SAEQ,KAAjBF,EAAOG,QAAoC,KAAjBH,EAAOG,SACpCF,EAAMJ,WAAaG,EAAOG,OAC1BH,EAAOI,OACPH,EAAMH,MAAMO,QAAQ,YAMhBJ,EAAMH,MAAM,IACpB,IAAK,SACH,KAA0B,WAAnBG,EAAMH,MAAM,KAAoBE,EAAOM,OACxCN,EAAOG,SAAWF,EAAMJ,YAC1BG,EAAOI,OACPH,EAAMH,MAAMS,SACe,OAAlBP,EAAOG,QAChBH,EAAOI,OACPJ,EAAOI,QAEPJ,EAAOQ,MAAM,gBAGjB,MAAO,SAET,IAAK,iBACH,KAA0B,mBAAnBP,EAAMH,MAAM,KAA4BE,EAAOM,OAC9CN,EAAOQ,MAAM,cAAgBR,EAAOQ,MAAM,SAC9CP,EAAMH,MAAMS,QAEhB,MAAO,WAGT,IAAIJ,EAAOH,EAAOG,OAGlB,OAAQA,GACR,IAAK,IAGH,OAFAH,EAAOI,OACPH,EAAMH,MAAMO,QAAQ,kBACb,UACT,IAAK,IAEH,OADAL,EAAOI,OACA,WACT,IAAK,KACH,OAAIJ,EAAOQ,MAAM,YAAoB,kBAEnCR,EAAOI,OACA,QAEX,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEH,OADAJ,EAAOI,OACA,OACT,IAAK,IAEH,OADAJ,EAAOI,OACA,UAGT,OAAIJ,EAAOQ,MAAM,OACXR,EAAOQ,MAAM,QAAgB,QAC1B,SACER,EAAOQ,MAAM,iBAClBR,EAAOQ,MAAM,aAAa,GAAe,UACtC,YACmD,GAAjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,KAAKC,QAAQN,IAChDH,EAAOI,OACA,YACGJ,EAAOU,YACjBV,EAAOI,OAEF,KAnFY,CAoFrB,E","sources":["../../node_modules/@codemirror/legacy-modes/mode/spreadsheet.js"],"sourcesContent":["export const spreadsheet = {\n name: \"spreadsheet\",\n\n startState: function () {\n return {\n stringType: null,\n stack: []\n };\n },\n token: function (stream, state) {\n if (!stream) return;\n\n //check for state changes\n if (state.stack.length === 0) {\n //strings\n if ((stream.peek() == '\"') || (stream.peek() == \"'\")) {\n state.stringType = stream.peek();\n stream.next(); // Skip quote\n state.stack.unshift(\"string\");\n }\n }\n\n //return state\n //stack has\n switch (state.stack[0]) {\n case \"string\":\n while (state.stack[0] === \"string\" && !stream.eol()) {\n if (stream.peek() === state.stringType) {\n stream.next(); // Skip quote\n state.stack.shift(); // Clear flag\n } else if (stream.peek() === \"\\\\\") {\n stream.next();\n stream.next();\n } else {\n stream.match(/^.[^\\\\\\\"\\']*/);\n }\n }\n return \"string\";\n\n case \"characterClass\":\n while (state.stack[0] === \"characterClass\" && !stream.eol()) {\n if (!(stream.match(/^[^\\]\\\\]+/) || stream.match(/^\\\\./)))\n state.stack.shift();\n }\n return \"operator\";\n }\n\n var peek = stream.peek();\n\n //no stack\n switch (peek) {\n case \"[\":\n stream.next();\n state.stack.unshift(\"characterClass\");\n return \"bracket\";\n case \":\":\n stream.next();\n return \"operator\";\n case \"\\\\\":\n if (stream.match(/\\\\[a-z]+/)) return \"string.special\";\n else {\n stream.next();\n return \"atom\";\n }\n case \".\":\n case \",\":\n case \";\":\n case \"*\":\n case \"-\":\n case \"+\":\n case \"^\":\n case \"<\":\n case \"/\":\n case \"=\":\n stream.next();\n return \"atom\";\n case \"$\":\n stream.next();\n return \"builtin\";\n }\n\n if (stream.match(/\\d+/)) {\n if (stream.match(/^\\w+/)) return \"error\";\n return \"number\";\n } else if (stream.match(/^[a-zA-Z_]\\w*/)) {\n if (stream.match(/(?=[\\(.])/, false)) return \"keyword\";\n return \"variable\";\n } else if ([\"[\", \"]\", \"(\", \")\", \"{\", \"}\"].indexOf(peek) != -1) {\n stream.next();\n return \"bracket\";\n } else if (!stream.eatSpace()) {\n stream.next();\n }\n return null;\n }\n};\n"],"names":["spreadsheet","name","startState","stringType","stack","token","stream","state","length","peek","next","unshift","eol","shift","match","indexOf","eatSpace"],"sourceRoot":""}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[3640],{3640(e,t,n){function $(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}n.d(t,{mumps:()=>l});var a=new RegExp("^[\\+\\-\\*/&#!_?\\\\<>=\\'\\[\\]]"),o=new RegExp("^(('=)|(<=)|(>=)|('>)|('<)|([[)|(]])|(^$))"),r=new RegExp("^[\\.,:]"),c=new RegExp("[()]"),m=new RegExp("^[%A-Za-z][A-Za-z0-9]*"),i=$(["\\$ascii","\\$char","\\$data","\\$ecode","\\$estack","\\$etrap","\\$extract","\\$find","\\$fnumber","\\$get","\\$horolog","\\$io","\\$increment","\\$job","\\$justify","\\$length","\\$name","\\$next","\\$order","\\$piece","\\$qlength","\\$qsubscript","\\$query","\\$quit","\\$random","\\$reverse","\\$select","\\$stack","\\$test","\\$text","\\$translate","\\$view","\\$x","\\$y","\\$a","\\$c","\\$d","\\$e","\\$ec","\\$es","\\$et","\\$f","\\$fn","\\$g","\\$h","\\$i","\\$j","\\$l","\\$n","\\$na","\\$o","\\$p","\\$q","\\$ql","\\$qs","\\$r","\\$re","\\$s","\\$st","\\$t","\\$tr","\\$v","\\$z"]),s=$(["break","close","do","else","for","goto","halt","hang","if","job","kill","lock","merge","new","open","quit","read","set","tcommit","trollback","tstart","use","view","write","xecute","b","c","d","e","f","g","h","i","j","k","l","m","n","o","q","r","s","tc","tro","ts","u","v","w","x"]);const l={name:"mumps",startState:function(){return{label:!1,commandMode:0}},token:function(e,t){var n=function(e,t){e.sol()&&(t.label=!0,t.commandMode=0);var n=e.peek();return" "==n||"\t"==n?(t.label=!1,0==t.commandMode?t.commandMode=1:(t.commandMode<0||2==t.commandMode)&&(t.commandMode=0)):"."!=n&&t.commandMode>0&&(t.commandMode=":"==n?-1:2),"("!==n&&"\t"!==n||(t.label=!1),";"===n?(e.skipToEnd(),"comment"):e.match(/^[-+]?\d+(\.\d+)?([eE][-+]?\d+)?/)?"number":'"'==n?e.skipTo('"')?(e.next(),"string"):(e.skipToEnd(),"error"):e.match(o)||e.match(a)?"operator":e.match(r)?null:c.test(n)?(e.next(),"bracket"):t.commandMode>0&&e.match(s)?"controlKeyword":e.match(i)?"builtin":e.match(m)?"variable":"$"===n||"^"===n?(e.next(),"builtin"):"@"===n?(e.next(),"string.special"):/[\w%]/.test(n)?(e.eatWhile(/[\w%]/),"variable"):(e.next(),"error")}(e,t);return t.label?"tag":n}}}}]);
|
||||
//# sourceMappingURL=3640.712a916c.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
"use strict";(globalThis.webpackChunkwebsite=globalThis.webpackChunkwebsite||[]).push([[3726],{3726(e,t,n){function a(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=!0;return t}n.d(t,{fortran:()=>_});var i=a(["abstract","accept","allocatable","allocate","array","assign","asynchronous","backspace","bind","block","byte","call","case","class","close","common","contains","continue","cycle","data","deallocate","decode","deferred","dimension","do","elemental","else","encode","end","endif","entry","enumerator","equivalence","exit","external","extrinsic","final","forall","format","function","generic","go","goto","if","implicit","import","include","inquire","intent","interface","intrinsic","module","namelist","non_intrinsic","non_overridable","none","nopass","nullify","open","optional","options","parameter","pass","pause","pointer","print","private","program","protected","public","pure","read","recursive","result","return","rewind","save","select","sequence","stop","subroutine","target","then","to","type","use","value","volatile","where","while","write"]),r=a(["abort","abs","access","achar","acos","adjustl","adjustr","aimag","aint","alarm","all","allocated","alog","amax","amin","amod","and","anint","any","asin","associated","atan","besj","besjn","besy","besyn","bit_size","btest","cabs","ccos","ceiling","cexp","char","chdir","chmod","clog","cmplx","command_argument_count","complex","conjg","cos","cosh","count","cpu_time","cshift","csin","csqrt","ctime","c_funloc","c_loc","c_associated","c_null_ptr","c_null_funptr","c_f_pointer","c_null_char","c_alert","c_backspace","c_form_feed","c_new_line","c_carriage_return","c_horizontal_tab","c_vertical_tab","dabs","dacos","dasin","datan","date_and_time","dbesj","dbesj","dbesjn","dbesy","dbesy","dbesyn","dble","dcos","dcosh","ddim","derf","derfc","dexp","digits","dim","dint","dlog","dlog","dmax","dmin","dmod","dnint","dot_product","dprod","dsign","dsinh","dsin","dsqrt","dtanh","dtan","dtime","eoshift","epsilon","erf","erfc","etime","exit","exp","exponent","extends_type_of","fdate","fget","fgetc","float","floor","flush","fnum","fputc","fput","fraction","fseek","fstat","ftell","gerror","getarg","get_command","get_command_argument","get_environment_variable","getcwd","getenv","getgid","getlog","getpid","getuid","gmtime","hostnm","huge","iabs","iachar","iand","iargc","ibclr","ibits","ibset","ichar","idate","idim","idint","idnint","ieor","ierrno","ifix","imag","imagpart","index","int","ior","irand","isatty","ishft","ishftc","isign","iso_c_binding","is_iostat_end","is_iostat_eor","itime","kill","kind","lbound","len","len_trim","lge","lgt","link","lle","llt","lnblnk","loc","log","logical","long","lshift","lstat","ltime","matmul","max","maxexponent","maxloc","maxval","mclock","merge","move_alloc","min","minexponent","minloc","minval","mod","modulo","mvbits","nearest","new_line","nint","not","or","pack","perror","precision","present","product","radix","rand","random_number","random_seed","range","real","realpart","rename","repeat","reshape","rrspacing","rshift","same_type_as","scale","scan","second","selected_int_kind","selected_real_kind","set_exponent","shape","short","sign","signal","sinh","sin","sleep","sngl","spacing","spread","sqrt","srand","stat","sum","symlnk","system","system_clock","tan","tanh","time","tiny","transfer","transpose","trim","ttynam","ubound","umask","unlink","unpack","verify","xor","zabs","zcos","zexp","zlog","zsin","zsqrt"]),o=a(["c_bool","c_char","c_double","c_double_complex","c_float","c_float_complex","c_funptr","c_int","c_int16_t","c_int32_t","c_int64_t","c_int8_t","c_int_fast16_t","c_int_fast32_t","c_int_fast64_t","c_int_fast8_t","c_int_least16_t","c_int_least32_t","c_int_least64_t","c_int_least8_t","c_intmax_t","c_intptr_t","c_long","c_long_double","c_long_double_complex","c_long_long","c_ptr","c_short","c_signed_char","c_size_t","character","complex","double","integer","logical","real"]),c=/[+\-*&=<>\/\:]/,s=/^\.(and|or|eq|lt|le|gt|ge|ne|not|eqv|neqv)\./i;function l(e,t){if(e.match(s))return"operator";var n,a=e.next();if("!"==a)return e.skipToEnd(),"comment";if('"'==a||"'"==a)return t.tokenize=(n=a,function(e,t){for(var a,i=!1,r=!1;null!=(a=e.next());){if(a==n&&!i){r=!0;break}i=!i&&"\\"==a}return!r&&i||(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[\[\]\(\),]/.test(a))return null;if(/\d/.test(a))return e.eatWhile(/[\w\.]/),"number";if(c.test(a))return e.eatWhile(c),"operator";e.eatWhile(/[\w\$_]/);var l=e.current().toLowerCase();return i.hasOwnProperty(l)?"keyword":r.hasOwnProperty(l)||o.hasOwnProperty(l)?"builtin":"variable"}const _={name:"fortran",startState:function(){return{tokenize:null}},token:function(e,t){if(e.eatSpace())return null;var n=(t.tokenize||l)(e,t);return n}}}}]);
|
||||
//# sourceMappingURL=3726.2da3522b.chunk.js.map
|
||||
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user