2019-11-01 17:16:40 +08:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
2019-11-05 16:57:31 +08:00
|
|
|
|
2019-11-01 17:16:40 +08:00
|
|
|
<head>
|
|
|
|
<meta charset="UTF-8">
|
2019-11-10 16:59:23 +08:00
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
2019-11-28 21:33:19 +08:00
|
|
|
<meta name="keywords" content="md,markdown,markdown-editor,wechat,official-account,yanglbme,doocs">
|
2019-11-10 16:59:23 +08:00
|
|
|
<meta name="description" content="Wechat Markdown Editor | 一款高度简洁的微信 Markdown 编辑器">
|
2019-11-30 20:36:32 +08:00
|
|
|
<meta name="viewport"
|
|
|
|
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
2019-11-05 16:57:31 +08:00
|
|
|
<title>微信 Markdown 编辑器</title>
|
2019-11-01 17:16:40 +08:00
|
|
|
<link rel="shortcut icon" href="assets/images/favicon.png">
|
|
|
|
<link rel="apple-touch-icon-precomposed" href="assets/images/favicon.png">
|
|
|
|
<link rel="stylesheet" href="assets/css/loading.css">
|
2019-11-06 19:21:01 +08:00
|
|
|
<link rel="stylesheet" href="libs/css/index.css">
|
|
|
|
<link rel="stylesheet" href="libs/css/codemirror.min.css">
|
|
|
|
<link rel="stylesheet" href="libs/css/xq-light.min.css">
|
|
|
|
<link rel="stylesheet" href="libs/css/eclipse.min.css">
|
|
|
|
<link rel="stylesheet" href="libs/css/oceanic-next.min.css">
|
|
|
|
<link rel="stylesheet" href="libs/css/code-themes/github-v2.min.css">
|
2019-11-01 17:16:40 +08:00
|
|
|
<link rel="stylesheet" href="assets/css/app.css">
|
|
|
|
</head>
|
2019-11-05 16:57:31 +08:00
|
|
|
|
2019-11-01 17:16:40 +08:00
|
|
|
<body>
|
|
|
|
<!--loading 界面-->
|
|
|
|
<div class="loading" id="loading">
|
|
|
|
<div class="loading-wrapper">
|
|
|
|
<div class="loading-text">Loading...</div>
|
|
|
|
<div class="loading-anim"></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!--应用主体-->
|
|
|
|
<div id="app" class="container">
|
|
|
|
<el-container>
|
|
|
|
<el-header class="top">
|
2019-11-30 21:07:27 +08:00
|
|
|
<!-- 图片上传 -->
|
2019-11-30 20:36:32 +08:00
|
|
|
<el-upload action="https://cors-anywhere.herokuapp.com/https://sm.ms/api/v2/upload"
|
2019-11-30 21:07:27 +08:00
|
|
|
headers="{'Content-Type': 'multipart/form-data'}" :show-file-list="false" :multiple="false"
|
2019-12-01 15:04:27 +08:00
|
|
|
accept=".jpg,.jpeg,.png,.gif" :limit="1" name="smfile" :on-success="uploaded" :on-error="failed"
|
|
|
|
:on-progress="uploading">
|
|
|
|
<el-tooltip class="item" effect="dark" content="点击上传图片" placement="bottom-start">
|
|
|
|
<i class="el-icon-upload" size="medium"> </i>
|
|
|
|
</el-tooltip>
|
2019-11-30 20:36:32 +08:00
|
|
|
</el-upload>
|
2019-11-01 17:16:40 +08:00
|
|
|
<el-form size="mini" class="ctrl" :inline=true>
|
2019-11-03 16:05:04 +08:00
|
|
|
<el-form-item label="编辑器主题">
|
2019-11-30 20:36:32 +08:00
|
|
|
<el-select v-model="currentEditorTheme" size="mini" placeholder="选择编辑器主题" clearable
|
|
|
|
@change="editorThemeChanged">
|
2019-11-01 17:16:40 +08:00
|
|
|
<el-option v-for="editorTheme in editorThemes" :key="editorTheme.value" :label="editorTheme.label"
|
2019-11-05 16:57:31 +08:00
|
|
|
:value="editorTheme.value">
|
2019-11-01 17:16:40 +08:00
|
|
|
</el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
2019-11-03 16:05:04 +08:00
|
|
|
<el-form-item label="字体">
|
2019-11-06 17:13:48 +08:00
|
|
|
<el-select v-model="currentFont" size="mini" placeholder="选择字体" clearable @change="fontChanged">
|
2019-11-05 16:57:31 +08:00
|
|
|
<el-option v-for="font in builtinFonts" :style="{fontFamily: font.value}" :key="font.value"
|
|
|
|
:label="font.label" :value="font.value">
|
2019-11-01 17:16:40 +08:00
|
|
|
<span class="select-item-left">{{ font.label }}</span>
|
|
|
|
<span class="select-item-right">Abc</span>
|
|
|
|
</el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
2019-11-03 16:05:04 +08:00
|
|
|
<el-form-item label="字号">
|
2019-11-06 17:13:48 +08:00
|
|
|
<el-select v-model="currentSize" size="mini" placeholder="选择段落字号" clearable @change="sizeChanged">
|
2019-11-05 16:57:31 +08:00
|
|
|
<el-option v-for="size in sizeOption" :key="size.value" :label="size.label" :value="size.value">
|
2019-11-01 17:16:40 +08:00
|
|
|
<span class="select-item-left">{{ size.label }}</span>
|
|
|
|
<span class="select-item-right">{{ size.desc }}</span>
|
|
|
|
</el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
2019-11-05 21:32:50 +08:00
|
|
|
<el-form-item label="颜色">
|
2019-11-06 17:13:48 +08:00
|
|
|
<el-select v-model="currentColor" size="mini" placeholder="选择颜色" clearable @change="colorChanged">
|
2019-11-05 21:32:50 +08:00
|
|
|
<el-option v-for="color in colorOption" :key="color.value" :label="color.label" :value="color.value">
|
|
|
|
<span class="select-item-left">{{ color.label }}</span>
|
2019-11-06 17:13:48 +08:00
|
|
|
<span class="select-item-right">{{ color.hex }}</span>
|
2019-11-01 17:16:40 +08:00
|
|
|
</el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
2019-11-05 15:16:42 +08:00
|
|
|
<el-color-picker v-model="currentColor" size="mini" show-alpha @change="colorChanged"></el-color-picker>
|
2019-11-01 17:16:40 +08:00
|
|
|
</el-form>
|
2019-12-05 17:03:54 +08:00
|
|
|
<el-tooltip class="item" effect="dark" content="自定义CSS样式" placement="left">
|
|
|
|
<el-button type="success" plain size="medium" icon="el-icon-setting" @click="customStyle"></el-button>
|
|
|
|
</el-tooltip>
|
2019-11-06 11:19:05 +08:00
|
|
|
<el-button type="success" plain size="medium" @click="copy">复制</el-button>
|
|
|
|
<el-button type="success" plain size="medium" class="about" @click="aboutDialogVisible = true">关于</el-button>
|
2019-11-01 17:16:40 +08:00
|
|
|
</el-header>
|
|
|
|
<el-main class="main-body">
|
|
|
|
<el-row :gutter="10" class="main-section">
|
|
|
|
<el-col :span="12">
|
2019-11-05 16:57:31 +08:00
|
|
|
<textarea id="editor" type="textarea" placeholder="Your markdown here." v-model="source">
|
2019-11-01 17:16:40 +08:00
|
|
|
</textarea>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12" class="preview-wrapper" id="preview">
|
|
|
|
<section>
|
|
|
|
<div class="preview" contenteditable="true">
|
|
|
|
<div id="output" v-html="output">
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</el-col>
|
2019-12-05 17:03:54 +08:00
|
|
|
<el-col id="cssBox" :span="8" v-show="showBox">
|
|
|
|
<textarea id="cssEditor" type="textarea" placeholder="Custom css here." v-model="source">
|
|
|
|
</textarea>
|
|
|
|
</el-col>
|
2019-11-01 17:16:40 +08:00
|
|
|
</el-row>
|
|
|
|
</el-main>
|
|
|
|
</el-container>
|
|
|
|
<el-dialog title="关于" :visible.sync="aboutDialogVisible" width="30%" center>
|
2019-11-05 16:57:31 +08:00
|
|
|
<div style="text-align: center;">
|
2019-11-10 16:59:23 +08:00
|
|
|
<h3>一款高度简洁的微信 Markdown 编辑器</h3>
|
2019-11-01 17:16:40 +08:00
|
|
|
</div>
|
|
|
|
<div style="text-align: center;">
|
2019-11-28 21:33:19 +08:00
|
|
|
<img src="assets/images/qrcode-for-doocs.jpg" style="max-width: 300px">
|
2019-11-05 16:57:31 +08:00
|
|
|
<p>扫码关注我的公众号,原创技术文章第一时间推送!</p>
|
2019-11-01 17:16:40 +08:00
|
|
|
</div>
|
|
|
|
<span slot="footer" class="dialog-footer">
|
2019-11-28 21:33:19 +08:00
|
|
|
<el-button type="success" plain @click="visit('https://github.com/doocs/md')">GitHub 仓库
|
2019-11-05 16:57:31 +08:00
|
|
|
</el-button>
|
2019-11-28 21:33:19 +08:00
|
|
|
<el-button type="success" plain @click="visit('https://gitee.com/doocs/md')">Gitee 仓库
|
2019-11-05 16:57:31 +08:00
|
|
|
</el-button>
|
|
|
|
</span>
|
2019-11-01 17:16:40 +08:00
|
|
|
</el-dialog>
|
|
|
|
</div>
|
|
|
|
|
2019-11-06 19:21:01 +08:00
|
|
|
<script src="libs/scripts/vue.min.js"></script>
|
|
|
|
<script src="libs/scripts/axios.min.js"></script>
|
|
|
|
<script src="libs/scripts/marked.min.js"></script>
|
|
|
|
<script src="libs/scripts/codemirror.min.js"></script>
|
|
|
|
<script src="libs/scripts/markdown.min.js"></script>
|
|
|
|
<script src="libs/scripts/prettify.min.js"></script>
|
|
|
|
<script src="libs/scripts/index.js"></script>
|
|
|
|
<script src="libs/scripts/jquery.min.js"></script>
|
|
|
|
<script src="libs/scripts/FuriganaMD.js"></script>
|
2019-12-05 17:03:54 +08:00
|
|
|
<script src="libs/scripts/json5.js"></script>
|
|
|
|
|
2019-11-06 11:19:05 +08:00
|
|
|
<script src="assets/scripts/sync-scroll.js"></script>
|
2019-11-05 21:32:50 +08:00
|
|
|
<script src="assets/scripts/themes/default-theme.js"></script>
|
2019-11-01 17:16:40 +08:00
|
|
|
<script src="assets/scripts/renderers/wx-renderer.js"></script>
|
2019-11-05 21:32:50 +08:00
|
|
|
<script src="assets/scripts/util.js"></script>
|
2019-11-01 17:16:40 +08:00
|
|
|
<script src="assets/scripts/editor.js"></script>
|
|
|
|
<script src="assets/scripts/loading.js"></script>
|
|
|
|
|
|
|
|
</body>
|
2019-11-30 20:36:32 +08:00
|
|
|
|
2019-11-05 16:57:31 +08:00
|
|
|
</html>
|