confluence 字体_玩转Confluence插件开发自定义主题(05)

本文档详细介绍了如何开发一个Confluence插件,以创建自定义主题,改变Confluence的字体和颜色。从创建插件框架开始,逐步讲解如何编写CSS,构建、安装和运行插件,以及如何通过colour-scheme模块扩展主题,实现更多颜色选择。通过这些步骤,最终实现了导航栏背景和边框颜色的修改,并展示了如何在Confluence实例中应用和查看这些更改。
摘要由CSDN通过智能技术生成
上一节我们介绍了Confluence插件本身的配置文件,这一节我们介绍通过插件创建Confluence自定义主题.在阅读之前,您首先应该对 HTMLCSS有基本的了解。

这篇文件中出现的代码我已经放到github[1]中,地址在文章的最下方,如果需要可以自行获取。

1.创建插件框架

  1. 打开终端并导航到之前创建好的工作目录confluence-plugin-tutorial
  2. 运行以下命令创建Confluence插件框架。
atlas-create-confluence-plugin
  1. 根据提示输入对应的groupId、artifactId、version和package信息,并输入Y以确认。
Define value for groupId: : com.jenseny.atlassian.tutoria
Define value for artifactId: : theme-tutorial
Define value for version:  1.0.0-SNAPSHOT: : 
Define value for package:  com.jenseny.atlassian.tutoria: : 
Confirm properties configuration:
groupId: com.jenseny.atlassian.tutoria
artifactId: theme-tutorial
version: 1.0.0-SNAPSHOT
package: com.jenseny.atlassian.tutoria
 Y: : y

  1. 把项目导入到IDE中,我这边使用idea

2.创建一个简单的主题

生成插件框架时,会自动创建一个CSS目录src/main/resources/css,并在目录中创建一个空的theme-tutorial.css文件。

在此步骤中,需要向该文件添加一些基本的CSS。还将在atlassian-plugin.xml配置文件中声明此CSS资源。

  1. 因为仅运行时依赖BasicTheme,所以必须显式导入com.atlassian.confluence.themes包。在pom.xml文件中,将其添加到标签中。
<plugin>
    <groupId>com.atlassian.maven.pluginsgroupId>
    <artifactId>confluence-maven-pluginartifactId>
    <version>${amps.version}version>
    <extensions>trueextensions>
    <configuration>
        <productVersion>${confluence.version}productVersion>
        <productDataVersion>${confluence.data.version}productDataVersion>
        <enableQuickReload>trueenableQuickReload>

        
        
        <instructions>
            <Atlassian-Plugin-Key>${atlassian.plugin.key}Atlassian-Plugin-Key>

            
            <Export-Package>
                com.jenseny.atlassian.tutorial.api,
            Export-Package>

            
            <Import-Package>
                com.atlassian.confluence.themes,
                org.springframework.osgi.*;resolution:="optional",
                org.eclipse.gemini.blueprint.*;resolution:="optional",
                *
            Import-Package>

            
            <Spring-Context>*Spring-Context>
        instructions>
    configuration>
plugin>
  1. 在IDE中,导航到src/main/resources/css/theme-tutorial.css文件。
  2. 将以下内容添加到theme-tutorial.css文件中,保存后关闭文件。
#header .aui-header {
    background-color: black;
    border-color: black;
}

添加的CSS代码的作用就是把Confluence导航的背景和边框颜色改为黑色。

  1. 在IDE中,导航到src/main/resources/atlassian-plugin.xml文件。
  2. 在根节点之前添加以下内容。
<theme key="simpletheme" name="Simple Theme" class="com.atlassian.confluence.themes.BasicTheme">
    <description>A simple custom themedescription>
    <param name="includeClassicStyles" value="false"/>
    <resource type="download" name="default-theme.css" location="/includes/css/default-theme.css">
        <param name="source" value="webContext"/>
    resource>
    <space-ia value="true"/>
theme>

theme模块使用现有的Confluence类,该类com.atlassian.confluence.themes.BasicTheme指示Confluence从插件加载主题。该模块还包括一个可选的namedescription字段,这两个字段都可以在主题管理页面上看到。

因为Confluence编写的大多数主题实际上依赖于Confluence中的默认主题样式表。这包括标准的Confluence字体,颜色和许多其他内容,所以要将Confluence样式包含在主题中,模块需要包含Confluence的默认样式表作为资源。配置includeClassicStylesfalse代表禁用Confluence的默认主题,配置space-ia用于启用空间的侧边栏。

  1. 将之前编写的CSS文件添加到theme标签内。
<resource type="download" name="theme-tutorial.css" location="/css/theme-tutorial.css"/>
  1. 保存文件,目前配置文件的内容如下。
<atlassian-plugin key="${atlassian.plugin.key}" name="${project.name}" plugins-version="2">
    <plugin-info>
        <description>${project.description}description>
        <version>${project.version}version>
        <vendor name="${project.organization.name}" url="${project.organization.url}" />
        <param name="plugin-icon">images/pluginIcon.pngparam>
        <param name="plugin-logo">images/pluginLogo.pngparam>
    plugin-info>

    
    <resource type="i18n" name="i18n" location="theme-tutorial"/>
    
    
    <web-resource key="theme-tutorial-resources" name="theme-tutorial Web Resources">
        <dependency>com.atlassian.auiplugin:ajsdependency>
        
        <resource type="download" name="theme-tutorial.css" location="/css/theme-tutorial.css"/>
        <resource type="download" name="theme-tutorial.js" location="/js/theme-tutorial.js"/>
        <resource type="download" name="images/" location="/images"/>

        <context>theme-tutorialcontext>
    web-resource>

    <theme key="simpletheme" name="Simple Theme" class="com.atlassian.confluence.themes.BasicTheme">
        <description>A simple custom themedescription>
        <param name="includeClassicStyles" value="false"/>
        <resource type="download" name="default-theme.css" location="/includes/css/default-theme.css">
            <param name="source" value="webContext"/>
        resource>
        <resource type="download" name="theme-tutorial.css" location="/css/theme-tutorial.css"/>
        <space-ia value="true"/>
    theme>
atlassian-plugin>

3.构建、安装和运行插件

在此步骤中,您将安装插件并运行Confluence,激活简单主题并验证CSS更改。

  1. 打开终端,然后导航到插件的根文件夹。
cd theme-tutorial/
  1. 运行以下命令启动Confluence。
atlas-run

此命令将构建插件代码,启动一个Confluence实例,然后安装该插件。这可能需要几分钟的时间。

  1. 找到Confluence的URL。默认为localhost:1990/confluence

  2. 在浏览器中输入URL,然后使用admin/admin账号登录。

  3. 进入主页面后,点击右上方的配置菜单,选择一般配置进入配置页面。d4c05976a96d664c62a26d77f131766f.png

  4. 在左侧菜单中选择主题菜单进入主题管理页面。419ed2d407c3e6e17a3a7642468974bf.png

  5. 选择简单主题单选按钮,然后单击确认按钮。62a55e8120ba8ef6560fbd4b227a871c.png页面重新加载,没有明显变化,因为我们做的更改不会影响管理页面。

  6. 想要看到效果需要返回主页面,单击左上角的Confluence徽标。d791927db9e365ffcb2818821b354901.png除管理页面外,所有页面现在都将具有此导航颜色。

4.加入colour-scheme模块

上一步骤我们将Confluence的头部栏改为黑色,功能相对简单.这一步骤我们使用colour-scheme模块来扩展主题以添加多种颜色。

  1. 打开atlassian-plugin.xml文件。
  2. 结束标签之间,添加以下代码。
<colour-scheme key="earth-colours" name="Brown and Red Earth Colours" class="com.atlassian.confluence.themes.BaseColourScheme">
    <colour key="property.style.topbarcolour" value="#440000"/>
    <colour key="property.style.spacenamecolour" value="#999999"/>
    <colour key="property.style.headingtextcolour" value="#663300"/>
    <colour key="property.style.linkcolour" value="#663300"/>
    <colour key="property.style.bordercolour" value="#440000"/>
    <colour key="property.style.navbgcolour" value="#663300"/>
    <colour key="property.style.navtextcolour" value="#ffffff"/>
    <colour key="property.style.navselectedbgcolour" value="#440000"/>
    <colour key="property.style.navselectedtextcolour" value="#ffffff"/>
colour-scheme>
  1. colour-scheme模块插入到theme模块,在结束标签之前添加以下代码。
 <colour-scheme key="${project.groupId}.${project.artifactId}:earth-colours"/>
  1. 保存并关闭文件,此时的文件内容如下。
<atlassian-plugin key="${atlassian.plugin.key}" name="${project.name}" plugins-version="2">
    <plugin-info>
        <description>${project.description}description>
        <version>${project.version}version>
        <vendor name="${project.organization.name}" url="${project.organization.url}" />
        <param name="plugin-icon">images/pluginIcon.pngparam>
        <param name="plugin-logo">images/pluginLogo.pngparam>
    plugin-info>

    
    <resource type="i18n" name="i18n" location="theme-tutorial"/>
    
    
    <web-resource key="theme-tutorial-resources" name="theme-tutorial Web Resources">
        <dependency>com.atlassian.auiplugin:ajsdependency>
        
        <resource type="download" name="theme-tutorial.css" location="/css/theme-tutorial.css"/>
        <resource type="download" name="theme-tutorial.js" location="/js/theme-tutorial.js"/>
        <resource type="download" name="images/" location="/images"/>

        <context>theme-tutorialcontext>
    web-resource>

    <theme key="simpletheme" name="Simple Theme" class="com.atlassian.confluence.themes.BasicTheme">
        <description>A simple custom themedescription>
        <param name="includeClassicStyles" value="false"/>
        <resource type="download" name="default-theme.css" location="/includes/css/default-theme.css">
            <param name="source" value="webContext"/>
        resource>
        <resource type="download" name="theme-tutorial.css" location="/css/theme-tutorial.css"/>
        <colour-scheme key="${project.groupId}.${project.artifactId}:earth-colours"/>
        <space-ia value="true"/>
    theme>
    <colour-scheme key="earth-colours" name="Brown and Red Earth Colours" class="com.atlassian.confluence.themes.BaseColourScheme">
        <colour key="property.style.topbarcolour" value="#440000"/>
        <colour key="property.style.spacenamecolour" value="#999999"/>
        <colour key="property.style.headingtextcolour" value="#663300"/>
        <colour key="property.style.linkcolour" value="#663300"/>
        <colour key="property.style.bordercolour" value="#440000"/>
        <colour key="property.style.navbgcolour" value="#663300"/>
        <colour key="property.style.navtextcolour" value="#ffffff"/>
        <colour key="property.style.navselectedbgcolour" value="#440000"/>
        <colour key="property.style.navselectedtextcolour" value="#ffffff"/>
    colour-scheme>
atlassian-plugin>
  1. 在之前运行的终端通过Ctrl+c快捷键终止目前运行的Confluence,然后输入atlas-run命令重新运行。
  2. 运行完成之后,刷新页面,你将看到以下效果。00a6a627553c2658b81587312dd90e50.png如果看不到该效果: 您可能需要返回主题管理页面,先切回默认主题然后再切回自定义主题。然后,即使从管理页面,您也将看到应用的更改。
以上就是关于自定义主题的介绍,下一章节我们介绍通过编写插件来自定义Confluence蓝图。

参考资料

[1]

Confluence插件代码仓库: https://github.com/jenseny/confluence-plugin-tutorial.git

4eef4fb12a0c25ff778d57400f87b49f.gif

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值