Compare commits

...

3 Commits

Author SHA1 Message Date
YangFong
f06cef1fbc
Merge 67ef9dc21c into 13f5aad6ae 2024-12-30 20:07:13 +08:00
Libin YANG
13f5aad6ae
fix: deploy and push docker image (#500)
All checks were successful
Build and Deploy / build-and-deploy (push) Has been skipped
Build and Push Docker Images / build (push) Has been skipped
2024-12-29 16:37:33 +08:00
YangFong
67ef9dc21c feat: display character count 2024-12-21 14:18:01 +08:00
3 changed files with 25 additions and 16 deletions

View File

@ -9,7 +9,7 @@ on:
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository == 'doocs/md'
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4

View File

@ -8,7 +8,6 @@ jobs:
build-preview: build-preview:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository == 'doocs/md' if: github.repository == 'doocs/md'
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:

View File

@ -170,12 +170,15 @@ watch(isDark, () => {
toRaw(editor.value)?.setOption?.(`theme`, theme) toRaw(editor.value)?.setOption?.(`theme`, theme)
}) })
const charCount = ref(0)
// //
function initEditor() { function initEditor() {
const editorDom = document.querySelector<HTMLTextAreaElement>(`#editor`)! const editorDom = document.querySelector<HTMLTextAreaElement>(`#editor`)!
if (!editorDom.value) { if (!editorDom.value) {
editorDom.value = store.posts[store.currentPostIndex].content editorDom.value = store.posts[store.currentPostIndex].content
charCount.value = store.posts[store.currentPostIndex].content.replace(/\s/g, ``).length
} }
editor.value = CodeMirror.fromTextArea(editorDom, { editor.value = CodeMirror.fromTextArea(editorDom, {
mode: `text/x-markdown`, mode: `text/x-markdown`,
@ -222,7 +225,9 @@ function initEditor() {
clearTimeout(changeTimer.value) clearTimeout(changeTimer.value)
changeTimer.value = setTimeout(() => { changeTimer.value = setTimeout(() => {
onEditorRefresh() onEditorRefresh()
store.posts[store.currentPostIndex].content = e.getValue() const value = e.getValue()
store.posts[store.currentPostIndex].content = value
charCount.value = value.replace(/\s/g, ``).length
}, 300) }, 300)
}) })
@ -414,23 +419,28 @@ onMounted(() => {
</ContextMenuContent> </ContextMenuContent>
</ContextMenu> </ContextMenu>
</div> </div>
<div <div class="relative flex-1">
id="preview" <div
ref="preview" id="preview"
:span="isShowCssEditor ? 8 : 12" ref="preview"
class="preview-wrapper flex-1 p-5" :span="isShowCssEditor ? 8 : 12"
> class="preview-wrapper flex-1 p-5"
<div id="output-wrapper" :class="{ output_night: !backLight }"> >
<div class="preview border shadow-xl"> <div id="output-wrapper" :class="{ output_night: !backLight }">
<section id="output" v-html="output" /> <div class="preview border shadow-xl">
<div v-if="isCoping" class="loading-mask"> <section id="output" v-html="output" />
<div class="loading-mask-box"> <div v-if="isCoping" class="loading-mask">
<div class="loading__img" /> <div class="loading-mask-box">
<span>正在生成</span> <div class="loading__img" />
<span>正在生成</span>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="bg-muted absolute bottom-0 left-0 p-2 text-xs shadow">
{{ charCount }} 个字符
</div>
</div> </div>
<CssEditor class="flex-1" /> <CssEditor class="flex-1" />
</div> </div>