mirror of
https://github.com/marktext/marktext.git
synced 2025-05-02 19:41:39 +08:00

1) There is now a new preference page under images for "Maintaining server paths". You specify a server path (such as /images/) and a local path (such as c:\hugo\static\images), and Marktext will do the right mapping internally. Image previews will come from the images on your computer, while the content stored in the document will represent the corresponding server paths. Full documentation has been added to IMAGES.md. 2) Path variables (like ${filename}) have been expanded to support year, month, and day. This helps prevent filename collisions and is common in many blogging platforms. 3) Pasting images and dragging them into Marktext supports this path mapping as well, moving them to the local path as appropriate 4) Image imports (pasting and or dragging) now retain the source image file name if possible, only using the image hash if there is a conflict. Images with names are easier to manage and show up appropriately in search engines 4) The image edit dialog now has a 'Rename' tab so that you can rename the images to something more specific when they are just pasted from the clipboard. This simplifies the previous workflow that used to require editing the markdown and renaming the file in the filesystem manually. There is also now a 'User Notification Dialog' component to let Marktext communicate with the user about error conditions.
51 lines
1.3 KiB
Vue
51 lines
1.3 KiB
Vue
<template>
|
|
<section class="server-path-folder">
|
|
<h5>Maintain server paths during editing and preview</h5>
|
|
<text-box description="Server path (i.e.: /images/)" :input="serverFolderPath"
|
|
:onChange="value => onSelectChange('serverFolderPath', value)"></text-box>
|
|
<text-box description="Local path (relative or absolute)" :input="localFolderPath"
|
|
:onChange="value => modifyLocalFolderPath(value)"></text-box>
|
|
<div>
|
|
<el-button size="mini" @click="modifyLocalFolderPath(undefined)">Browse...</el-button>
|
|
</div>
|
|
</section>
|
|
</template>
|
|
|
|
<script>
|
|
import { mapState } from 'vuex'
|
|
import TextBox from '@/prefComponents/common/textBox'
|
|
|
|
export default {
|
|
components: {
|
|
TextBox
|
|
},
|
|
data () {
|
|
return {
|
|
}
|
|
},
|
|
computed: {
|
|
...mapState({
|
|
serverFolderPath: state => state.preferences.serverFolderPath,
|
|
localFolderPath: state => state.preferences.localFolderPath
|
|
})
|
|
},
|
|
methods: {
|
|
modifyLocalFolderPath (value) {
|
|
return this.$store.dispatch('SET_LOCAL_FOLDER_PATH', value)
|
|
},
|
|
onSelectChange (type, value) {
|
|
this.$store.dispatch('SET_SINGLE_PREFERENCE', { type, value })
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
.image-folder .footnote {
|
|
font-size: 13px;
|
|
& code {
|
|
font-size: 13px;
|
|
}
|
|
}
|
|
</style>
|