zhouhua / obsidian-export-image

Easily convert your article to image.
MIT License
49 stars 2 forks source link

导出内容包括metadata? #26

Closed ProudBenzene closed 2 months ago

ProudBenzene commented 2 months ago

亲爱的作者大大,谢谢您开发出如此方便的插件!Obsidian导出的PDF会在一些地方产生隔断,其他导出格式设置起来又较为复杂。您的插件很好地解决了这个问题,在基本不需要怎么配置的情况下就可以一键导出笔记,真的非常方便!

但是我还有一个需求,就是希望导出的图片中也可以设置包含笔记的metadata信息。很多时候metadata信息也是笔记的一部分,这对我来说比较重要。

另外还有一个小问题,就是请问您知道大概如何修改CSS,可以使得CSS片段的效果在图片上一同导出呢?比如网格背景、图片背景等效果在导出的图片上是没有的,我想尝试适配这些片段让它们可以成功导出。

再次感谢您的辛苦付出,希望您可以实现我建议的功能!

zhouhua commented 2 months ago

包含 metadata 应该是可行的,我后面抽时间支持一下。

关于第二个问题:

image

.export-image-root 是导出图片的根节点,下面那几个与阅读模式相同,这几个class你都可以试试。

ProudBenzene commented 2 months ago

谢谢您的回复,感谢您采纳了我的建议!

不过关于第二个问题,由于我并没有专门学习过CSS,在尝试好几次后我都没有成功导出包含CSS效果的笔记图片。如果您有空的话,是否可以帮我看一下这个CSS该如何修改才能适应插件的导出效果?我想根据您的修改再举一反三到其他的片段中😭麻烦您了!

/*===================网格背景====================*/
body.background-notebook-liked-switch.notebook-embed .markdown-reading-view .markdown-embed .markdown-rendered {
  background-image: unset!important;
}
body.background-notebook-liked-switch.notebook-liked-markdown-page-grid-notebook-1 .markdown-reading-view .markdown-rendered,
body.background-notebook-liked-switch.notebook-liked-markdown-page-grid-notebook-1 .markdown-source-view.mod-cm6 .cm-scroller {
  background: var(--bg-color-notebook);
  background-image: linear-gradient(90deg, var(--grid-notebook-line-color-1) 3%, transparent 0), linear-gradient(var(--grid-notebook-line-color-1) 3%, transparent 0);
  background-size: 20px 20px;
}

body:not(.toggle-fixed-pattern).background-notebook-liked-switch .markdown-reading-view .markdown-rendered,
body:not(.toggle-fixed-pattern).background-notebook-liked-switch .markdown-source-view.mod-cm6 .cm-scroller {
  background-attachment: local !important;
}

body.background-notebook-liked-switch .markdown-source-view.mod-cm6 .cm-embed-block {
  background: inherit;
}

body.background-notebook-liked-switch.notebook-liked-markdown-page-dotted-notebook-1 .markdown-reading-view .markdown-rendered,
body.background-notebook-liked-switch.notebook-liked-markdown-page-dotted-notebook-1 .markdown-source-view.mod-cm6 .cm-scroller {
  background: var(--bg-color-notebook);
  background-image: radial-gradient(var(--dotted-notebook-dot-color) 10%, transparent 0);
  background-size: 22px 22px;
  background-position: 8px 8px;
}

body.background-notebook-liked-switch.notebook-liked-markdown-page-dotted-notebook-2 .markdown-reading-view .markdown-rendered,
body.background-notebook-liked-switch.notebook-liked-markdown-page-dotted-notebook-2 .markdown-source-view.mod-cm6 .cm-scroller {
  background: var(--bg-color-notebook);
  background-image: radial-gradient(var(--dotted-notebook-dot-color) 10%, transparent 0),
    radial-gradient(var(--dotted-notebook-dot-color) 10%, transparent 0);
  background-size: 30px 30px;
  background-position: 0 0, 15px 15px;
}

/*https://www.jianshu.com/p/2b713844cfe9*/
body.background-notebook-liked-switch.notebook-liked-markdown-page-grid-notebook-2 .markdown-reading-view .markdown-rendered,
body.background-notebook-liked-switch.notebook-liked-markdown-page-grid-notebook-2 .markdown-source-view.mod-cm6 .cm-scroller {
  background: var(--bg-color-notebook);
  background-image:
    linear-gradient(var(--grid-notebook-line-color-2) 1px, transparent 0),
    linear-gradient(90deg, var(--grid-notebook-line-color-2) 1px,transparent 0),
    linear-gradient(var(--grid-notebook-line-color-1) 1px,
    transparent 0),
    linear-gradient(90deg,var(--grid-notebook-line-color-1) 1px,
    transparent 0);
  background-size: 75px 75px, 75px 75px, 15px 15px, 15px 15px;
}
body.background-notebook-liked-switch.notebook-liked-markdown-page-stripe-notebook-1 .markdown-reading-view .markdown-rendered,
body.background-notebook-liked-switch.notebook-liked-markdown-page-stripe-notebook-1 .markdown-source-view.mod-cm6 .cm-scroller {
  background: var(--stripe-notebook-stripe-color);
  background-image: repeating-linear-gradient(135deg,
  hsla(0,0%,100%,.03), hsla(0,0%,100%,.03) 13px, transparent 0, transparent 30px);
}
body.background-notebook-liked-switch.notebook-liked-markdown-page-stripe-notebook-1.theme-light .markdown-reading-view .markdown-rendered,
body.background-notebook-liked-switch.notebook-liked-markdown-page-stripe-notebook-1.theme-light .markdown-source-view.mod-cm6 .cm-scroller {
  background: var(--stripe-notebook-stripe-color);
  background-image: repeating-linear-gradient(135deg,
  hsla(0,0%,100%,.3), hsla(0,0%,100%,.3) 13px, transparent 0, transparent 30px);
}
body.background-notebook-liked-switch.notebook-liked-markdown-page-stripe-notebook-2 .markdown-reading-view .markdown-rendered,
body.background-notebook-liked-switch.notebook-liked-markdown-page-stripe-notebook-2 .markdown-source-view.mod-cm6 .cm-scroller {
  background: var(--stripe-notebook-stripe-color);
  background-image:repeating-linear-gradient(45deg,
  hsla(0,0%,100%,.025), hsla(0,0%,100%,.025) 20px, transparent 0, transparent 60px), repeating-linear-gradient(-45deg, hsla(0,0%,100%,.025), hsla(0,0%,100%,.025) 20px, transparent 0, transparent 60px);
}
body.background-notebook-liked-switch.notebook-liked-markdown-page-stripe-notebook-2.theme-light .markdown-reading-view .markdown-rendered,
body.background-notebook-liked-switch.notebook-liked-markdown-page-stripe-notebook-2.theme-light .markdown-source-view.mod-cm6 .cm-scroller {
  background: var(--stripe-notebook-stripe-color);
  background-image:repeating-linear-gradient(45deg,
  hsla(0,0%,100%,.3), hsla(0,0%,100%,.3) 20px, transparent 0, transparent 60px), repeating-linear-gradient(-45deg, hsla(0,0%,100%,.3), hsla(0,0%,100%,.3) 20px, transparent 0, transparent 60px);
}

.workspace-leaf-content .floating-toc-div+.markdown-source-view .cm-editor {
  padding-left: 0;
}

body.toggle-split-note-background .workspace-split.mod-horizontal:is(.mod-left-split,.mod-right-split) .workspace-leaf-content .markdown-rendered,
body.toggle-split-note-background .workspace-split.mod-horizontal:is(.mod-left-split,.mod-right-split) .workspace-tab-container .workspace-leaf-content .markdown-reading-view {
  background: initial;
}
zhouhua commented 2 months ago

原始代码:

body.background-notebook-liked-switch.notebook-liked-markdown-page-grid-notebook-1 .markdown-reading-view .markdown-rendered,
body.background-notebook-liked-switch.notebook-liked-markdown-page-grid-notebook-1 .markdown-source-view.mod-cm6 .cm-scroller {
  background: var(--bg-color-notebook);
  background-image: linear-gradient(90deg, var(--grid-notebook-line-color-1) 3%, transparent 0), linear-gradient(var(--grid-notebook-line-color-1) 3%, transparent 0);
  background-size: 20px 20px;
}

适配导出图片的代码:

body.background-notebook-liked-switch.notebook-liked-markdown-page-grid-notebook-1 .markdown-reading-view .markdown-rendered,
body.background-notebook-liked-switch.notebook-liked-markdown-page-grid-notebook-1 .markdown-source-view.mod-cm6 .cm-scroller,
.export-image-preview-container.markdown-rendered {
  background: var(--bg-color-notebook);
  background-image: linear-gradient(90deg, var(--grid-notebook-line-color-1) 3%, transparent 0), linear-gradient(var(--grid-notebook-line-color-1) 3%, transparent 0);
  background-size: 20px 20px;
}
ProudBenzene commented 2 months ago

原始代码:

body.background-notebook-liked-switch.notebook-liked-markdown-page-grid-notebook-1 .markdown-reading-view .markdown-rendered,
body.background-notebook-liked-switch.notebook-liked-markdown-page-grid-notebook-1 .markdown-source-view.mod-cm6 .cm-scroller {
  background: var(--bg-color-notebook);
  background-image: linear-gradient(90deg, var(--grid-notebook-line-color-1) 3%, transparent 0), linear-gradient(var(--grid-notebook-line-color-1) 3%, transparent 0);
  background-size: 20px 20px;
}

适配导出图片的代码:

body.background-notebook-liked-switch.notebook-liked-markdown-page-grid-notebook-1 .markdown-reading-view .markdown-rendered,
body.background-notebook-liked-switch.notebook-liked-markdown-page-grid-notebook-1 .markdown-source-view.mod-cm6 .cm-scroller,
.export-image-preview-container.markdown-rendered {
  background: var(--bg-color-notebook);
  background-image: linear-gradient(90deg, var(--grid-notebook-line-color-1) 3%, transparent 0), linear-gradient(var(--grid-notebook-line-color-1) 3%, transparent 0);
  background-size: 20px 20px;
}

谢谢大大指点!

zhouhua commented 2 months ago

@ProudBenzene metadata 已经支持,默认关闭,需要在插件设置页面开启