Publish插件:ColorfulTags
ChenZhijin
.com

Publish插件:ColorfulTags

Publish插件:ColorfulTags

如果Publish网站中所有的标签都是同一个样式的话就太无聊了。所以我写了一个插件来自动给标签添加不同的css类,这样就可以给标签自定义不同的样式。

一个为Publish开发的给标签添加不同颜色的插件。

安装

在Swift包中添加ColorfulTagsPublishPlugin

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
let package = Package(
    ...
    dependencies: [
    .package(url: "https://github.com/Ze0nC/ColorfulTagsPublishPlugin", .branch("master"))
    ],
    targets: [
        .target(
            ...
            dependencies: [
                ...
                "ColorfulTagsPublishPlugin"
            ]
        )
    ]
    ...
)

用法

  1. 在build pipeline中添加.colorfulTags()。注意必须添加在处理Markdown文件之后,生成HTML文件之前。
1
2
3
4
5
6
7
8
9
import ColorfulTagsPublishPlugin
...
try MyWebsite().publish(using: [
    .addMarkdownFiles(),
    .installPlugin(.colorfulTags(defaultClass: "tag", variantPrefix: "variant", numberOfVariants: 8)),
    ...
    .generateHTML(withTheme: .foundation),
    ...
])

这个插件需要3个参数:

  • defaultClass: String HTML中标签的默认类名。在Foundation主题中,标签的类名是"tag"
  • variantPrefix: String CSS中标签类的类别的前缀。在上面的例子中,生成的类名是variant-0variant-1等。
  • numberOfVariants: Int CSS文件中标签的样式的总数。
  1. 更改HTML模版中生成tag列表的代码。例如在Foundation主题中作出如下修改:

将:

1
2
3
    ...
    .class("tag"),
    ...

改成:

1
2
3
    ...
    .class(tag.colorfiedClass),
    ...

你可能需要修改多个地方。

如果原本的主题没有给标签指定类(.class("tag")),请自行添加.class(tag.colorfiedClass)

  1. 在CSS文件中添加各种标签的样式,例如background-color
1
2
3
4
5
6
7
8
.variant-0 {background-color: #66293c;}
.variant-1 {background-color: #913e37;}
.variant-2 {background-color: #ca7618;}
.variant-3 {background-color: #a38138;}
.variant-4 {background-color: #2f7176;}
.variant-5 {background-color: #246089;}
.variant-6 {background-color: #498840;}
.variant-7 {background-color: #484781;}

在上述例子中,variantPrefix"variant"numberOfVariants8

致谢

感谢John Sundell (@johnsundell)开发了Publish

标签: