提交 9db2d1e1 编写于 作者: 璃白.'s avatar 璃白. 🌻

feat:添加链接卡片样式

上级 f0652e6a
...@@ -86,7 +86,7 @@ import markdownHeader from "./components/header/md-header"; ...@@ -86,7 +86,7 @@ import markdownHeader from "./components/header/md-header";
import markdownFooter from "./components/footer/md-footer"; import markdownFooter from "./components/footer/md-footer";
import markdownEditor from "./components/content/md-textarea"; import markdownEditor from "./components/content/md-textarea";
import markdownPreview from "./components/content/md-preview"; import markdownPreview from "./components/content/md-preview";
import { formatText, checktUrl } from "@/assets/js/utils"; import { formatText, checktUrl, getLinkTitle } from "@/assets/js/utils";
export default { export default {
components: { components: {
markdownHeader, markdownHeader,
...@@ -368,10 +368,16 @@ export default { ...@@ -368,10 +368,16 @@ export default {
const linkEl = vDom.querySelector("#" + item.id); const linkEl = vDom.querySelector("#" + item.id);
linkEl.className = "md_link_card"; linkEl.className = "md_link_card";
linkEl.setAttribute("target", "_blank"); linkEl.setAttribute("target", "_blank");
const title = getLinkTitle(linkEl);
linkEl.innerHTML = ` linkEl.innerHTML = `
<span class="md_link_title">${item.title}</span> <span class="md_link_title">${title || item.title}</span>
<span class="md_flex_card">
<img class="md_link_img" src="${item.img}" />
<span class="flex-1">
<span class="md_link_desc">${item.desc}</span> <span class="md_link_desc">${item.desc}</span>
<span class="md_link_url">${item.url}</span> <span class="md_link_url">${item.url}</span>
</span>
</span>
`; `;
}); });
// return vDom.innerHTML; // return vDom.innerHTML;
......
...@@ -330,3 +330,8 @@ export function getLinkTags(id, html) { ...@@ -330,3 +330,8 @@ export function getLinkTags(id, html) {
); );
return { vDom: virtualDom, links }; return { vDom: virtualDom, links };
} }
export function getLinkTitle(linkEl) {
const title = linkEl.innerText;
return /^http/.test(title) ? "" : title;
}
...@@ -6,12 +6,16 @@ ...@@ -6,12 +6,16 @@
border: 1px solid var(--md-editor-border-color); border: 1px solid var(--md-editor-border-color);
background: #f5f6f7; background: #f5f6f7;
transition: border 0.3s; transition: border 0.3s;
max-width: 800px;
&:hover { &:hover {
border: 1px solid var(--md-editor-border-color-active); border: 1px solid var(--md-editor-border-color-active);
} }
span { span {
color: var(--md-editor-text-color-active); color: var(--md-editor-text-color-active);
display: block; }
.md_link_img {
height: 64px;
margin-right: 16px;
} }
.md_link_title { .md_link_title {
font-size: 16px; font-size: 16px;
...@@ -36,5 +40,9 @@ ...@@ -36,5 +40,9 @@
.md_link_url { .md_link_url {
font-size: 12px; font-size: 12px;
color: var(--md-editor-border-color-active); color: var(--md-editor-border-color-active);
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
} }
} }
@import "./variable.less"; @import "./variable.less";
@import "./iconfont.less"; @import "./iconfont.less";
@import "./markdown.less"; @import "./markdown.less";
@import './card.less'; @import "./card.less";
* { * {
padding: 0; padding: 0;
...@@ -48,3 +48,12 @@ textarea { ...@@ -48,3 +48,12 @@ textarea {
// display: block; // display: block;
// margin: 0; // margin: 0;
// } // }
.md_flex_card {
display: flex;
justify-content: space-between;
align-items: center;
.flex-1 {
flex: 1;
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册