当前位置:网站首页>Milkdown control icon
Milkdown control icon
2022-07-07 13:27:00 【Cliven_】
Phenomenon description
stay vite + vue3 In the project , Use Milkdown As Markdown Edit box
Milkdown.vue
<template>
<VueEditor :editor="editor" />
</template>
<script setup> import {
Editor, rootCtx, defaultValueCtx } from "@milkdown/core"; import {
nord } from "@milkdown/theme-nord"; import {
VueEditor, useEditor } from "@milkdown/vue"; import {
commonmark } from "@milkdown/preset-commonmark"; import {
emoji } from "@milkdown/plugin-emoji"; import {
history } from '@milkdown/plugin-history'; import {
tooltip } from '@milkdown/plugin-tooltip'; import {
menu } from "@milkdown/plugin-menu"; const {
editor } = useEditor((root) => Editor.make() .config((ctx) => {
ctx.set(rootCtx, root); ctx.set(defaultValueCtx, "# Milkdown Vue"); }) .use(nord) .use(emoji) .use(commonmark) .use(history) .use(menu) .use(tooltip) ); </script>
The display effect is as shown in the figure
All icon areas become text , And crowded together very ugly , This is because milkdown/theme-nord
The theme uses google Provided Google material icons
from Milkdown Official example You can see
stay index.html
The document introduces Google Icon font library .
solve
Mode one Introduce... Online
The reason why there is no icon in our space is that there is no Google Icon font library causes , We can be as official , Directly in index.html
Add a line to the file CSS The reference of the file can .
index.html
<html>
<head>
...
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons+Outlined" />
...
</head>
...
</html>
This method will use Google Of CSS2 API Automatically reference and related fonts and configurations , There is a problem with this method when network conditions do not allow , It will cause the icon to still fail to load .
Mode two Offline import
according to Google material icons#setup_method_2_self_hosting Description in , We can download relevant font files , Then manually configure css Use font files .
For simplicity, I directly visited Google Of
Got it CSS Configuration file and font file .
CSS As shown below
/* fallback */
@font-face {
font-family: 'Material Icons Outlined';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/materialiconsoutlined/v106/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUce.woff2) format('woff2');
}
.material-icons-outlined {
font-family: 'Material Icons Outlined';
font-weight: normal;
font-style: normal;
font-size: 24px;
line-height: 1;
letter-spacing: normal;
text-transform: none;
display: inline-block;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-feature-settings: 'liga';
-webkit-font-smoothing: antialiased;
}
A font file also appears here
Here I also manually download and place the file in the project public/
Under the table of contents .
And then modified Milkdown.vue, Added the above CSS, And replaced the address of the font file with the local address , The modified file is as follows .
<template>
<VueEditor :editor="editor" />
</template>
<script setup> import {
Editor, rootCtx, defaultValueCtx } from "@milkdown/core"; import {
nord } from "@milkdown/theme-nord"; import {
VueEditor, useEditor } from "@milkdown/vue"; import {
commonmark } from "@milkdown/preset-commonmark"; import {
emoji } from "@milkdown/plugin-emoji"; import {
history } from '@milkdown/plugin-history'; import {
tooltip } from '@milkdown/plugin-tooltip'; import {
menu } from "@milkdown/plugin-menu"; const {
editor } = useEditor((root) => Editor.make() .config((ctx) => {
ctx.set(rootCtx, root); ctx.set(defaultValueCtx, "# Milkdown Vue"); }) .use(nord) .use(emoji) .use(commonmark) .use(history) .use(menu) .use(tooltip) ); </script>
<style> @font-face {
font-family: 'Material Icons Outlined'; font-style: normal; font-weight: 400; src: url(./gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUce.woff2) format('woff2'); } .material-icons-outlined {
font-family: 'Material Icons Outlined'; font-weight: normal; font-style: normal; font-size: 24px; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; } </style>
In addition to CSS And font, you can see that the icon on the control has been normal .
reference
[1]. milkdown . demo . https://milkdown.dev/online-demo
[2]. milkdown . Integrations vue. https://milkdown.dev/vue
[3]. google . fonts . Material Icons Guide . 2022.03 . https://developers.google.com/fonts/docs/material_icons
边栏推荐
猜你喜欢
Sed of three swordsmen in text processing
Fast development board pinctrl and GPIO subsystem experiment for itop-imx6ull - modify the device tree file
线程池拒绝策略最佳实践
centso7 openssl 报错Verify return code: 20 (unable to get local issuer certificate)
How to make join run faster?
存储过程的介绍与基本使用
LIS 最长上升子序列问题(动态规划、贪心+二分)
Introduction and basic use of stored procedures
ESP32 ① 编译环境
Cinnamon 任务栏网速
随机推荐
自定义线程池拒绝策略
[untitled]
Distributed transaction solution
OSI seven layer model
基于鲲鹏原生安全,打造安全可信的计算平台
QQ的药,腾讯的票
MongoDB 遇见 spark(进行整合)
Shortcut key of Bash
一文读懂数仓中的pg_stat
1. Deep copy 2. Call apply bind 3. For of in differences
Ikvm of toolbox Net project new progress
Coscon'22 community convening order is coming! Open the world, invite all communities to embrace open source and open a new world~
php——laravel缓存cache
为租客提供帮助
Mongodb slice summary
MySQL入门尝鲜
数字ic设计——SPI
The difference between cache and buffer
LeetCode_ Binary search_ Medium_ 153. Find the minimum value in the rotation sort array
RealBasicVSR测试图片、视频