Pelican 站点生成器:主题没有可见的 table 边框?
Pelican site generator: themes do not have visible table borders?
我正在使用 Pelican 3.6.3 生成网站。源内容为 Markdown,包含多个 table。我试过用四个或五个不同的 Pelican 主题生成输出,但是 tables 从来没有任何可见的边框。所有table内容都按行和列排列整齐,但没有单元格边框或外边框。
这有什么具体原因吗?我打算手动修改 CSS 吗?似乎不太可能所有主题作者都会做出相同的设计决定。
我的 table 之一的示例:
| Measurement | 2401 | 2701 |
|------------------|----------|---------|
| Total height | 2 13/16" | 4 1/8" |
| Diameter at base | 4" | 4 9/16" |
是否设置了HTML属性border
?如果是这样,很可能是您的浏览器决定如何呈现 table.
我自己检查了几个主题(只是快速浏览了 CSS 代码,不保证正确性):
| Theme | Border |
|=================|========|
| apricot | No |
| basic | |
| bluegrasshopper | |
| blueidea | |
| blue-penguin | |
| bold | |
|-----------------|--------|
| backdrop | Yes |
| bootlex | |
我可以想象,根据内容、理由和其他格式方面的不同,在 所有 table 上设置边框是不合适的。因此,我可以理解默认情况下禁用 table 边框并让主题用户根据需要自定义行为的设计决定。
在我的网站上,我将 table 用于许多不同的事情。通常,尤其是当包含图像或语法高亮区域等块时,边框会使 table 看起来很奇怪。截至目前,我支持这个设计决定。
但是,如果想要在 一些 table 上设置边框怎么办?如果可以在文章源文件中指定特殊的 HTML 类,则使用 CSS 的大小写相关样式很容易实现。不幸的是,python-markdown
(或通常的 markdown
)不支持这种功能。至少,这是一项简短的 Google 研究揭示的内容。 (也许有一个我不认识的 python-markdown
扩展名?..)
另一种方法是使用另一种标记语言。 reStructuredText
与 markdown 相比更复杂,但也更具可扩展性。 table 指令本身支持 HTML 类 的规范。我自己使用 reStructuredText
并且喜欢标记语言引入的高度灵活性。
您也可以让 javascript
完成这项工作,并根据 table 内容设置 HTML 类 同样的样式。但是,我认为这不是一个好的解决方案,因为您会为静态网站的外观创建对 javascript 的依赖。
希望对您有所帮助:)
tl;dr
- 具体原因作为主题最有可能更普遍适用。
- 是的,我们邀请您在 CSS 代码或任何最适合您的地方自行介绍所需的定制。
我正在使用 Pelican 3.6.3 生成网站。源内容为 Markdown,包含多个 table。我试过用四个或五个不同的 Pelican 主题生成输出,但是 tables 从来没有任何可见的边框。所有table内容都按行和列排列整齐,但没有单元格边框或外边框。
这有什么具体原因吗?我打算手动修改 CSS 吗?似乎不太可能所有主题作者都会做出相同的设计决定。
我的 table 之一的示例:
| Measurement | 2401 | 2701 |
|------------------|----------|---------|
| Total height | 2 13/16" | 4 1/8" |
| Diameter at base | 4" | 4 9/16" |
是否设置了HTML属性border
?如果是这样,很可能是您的浏览器决定如何呈现 table.
我自己检查了几个主题(只是快速浏览了 CSS 代码,不保证正确性):
| Theme | Border |
|=================|========|
| apricot | No |
| basic | |
| bluegrasshopper | |
| blueidea | |
| blue-penguin | |
| bold | |
|-----------------|--------|
| backdrop | Yes |
| bootlex | |
我可以想象,根据内容、理由和其他格式方面的不同,在 所有 table 上设置边框是不合适的。因此,我可以理解默认情况下禁用 table 边框并让主题用户根据需要自定义行为的设计决定。
在我的网站上,我将 table 用于许多不同的事情。通常,尤其是当包含图像或语法高亮区域等块时,边框会使 table 看起来很奇怪。截至目前,我支持这个设计决定。
但是,如果想要在 一些 table 上设置边框怎么办?如果可以在文章源文件中指定特殊的 HTML 类,则使用 CSS 的大小写相关样式很容易实现。不幸的是,python-markdown
(或通常的 markdown
)不支持这种功能。至少,这是一项简短的 Google 研究揭示的内容。 (也许有一个我不认识的 python-markdown
扩展名?..)
另一种方法是使用另一种标记语言。 reStructuredText
与 markdown 相比更复杂,但也更具可扩展性。 table 指令本身支持 HTML 类 的规范。我自己使用 reStructuredText
并且喜欢标记语言引入的高度灵活性。
您也可以让 javascript
完成这项工作,并根据 table 内容设置 HTML 类 同样的样式。但是,我认为这不是一个好的解决方案,因为您会为静态网站的外观创建对 javascript 的依赖。
希望对您有所帮助:)
tl;dr
- 具体原因作为主题最有可能更普遍适用。
- 是的,我们邀请您在 CSS 代码或任何最适合您的地方自行介绍所需的定制。