我想将以下内容添加到我的ikiwiki中所有HTML页面的所有标题中。
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Tangerine">
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Romanesco">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800,400italic,600italic,700italic' rel='stylesheet' type='text/css'/>
<link href='https://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,600,700,800,400italic,600italic,700italic' rel='stylesheet' type='text/css'/>
<link href='https://fonts.googleapis.com/css?family=PT+Sans:400,600,700,800,400italic,600italic,700italic' rel='stylesheet' type='text/css'/>
我尝试在自定义templates/page.tmpl.mdwn
中添加这些行,但每次部署Wiki时,都不会添加这些行。
我做错了什么?
答案 0 :(得分:0)
在$git_repo/templates
中创建一个名为page.tmpl
的文件,该文件是/usr/share/ikiwiki/templates/page.tmpl
的副本 - 或者该文件位于本地系统中的位置。
然后,您可以修改$git_repo/templates/page.tmpl
以添加您想要的任何内容。
答案 1 :(得分:0)
我已使用插件在所有页面的HTML 中添加了opengraph数据:
#!/usr/bin/perl
package IkiWiki::Plugin::opengraph;
use warnings;
use strict;
use IkiWiki 3.00;
our $VERSION = '0.1.4';
sub import {
hook(type => "pagetemplate", id => "opengraph", call => \&opengraph_tags);
}
sub opengraph_tags {
my %args = @_;
${args}{template}->param('OPENGRAPH' => 1);
my ${title} = pagetitle(${args}{destpage});
my ${url} = urlto(${args}{destpage}, 'index', '1');
my ${image} = urlto('logo.png', 'index', '1');
my ${type} = pagetype(${args}{destpage});
my ${opengraph_title} = ${title} || ${config}{'opengraph_title'} || "ikiwiki";
my ${opengraph_description} = ${config}{'opengraph_description'} || "ikiwiki";
my ${opengraph_type} = ${type} || ${config}{'opengraph_type'} || "website";
my ${opengraph_image} = ${image} || ${config}{'opengraph_image'} || "http://ikiwiki.info/logo/ikiwiki.png";
my ${opengraph_url} = ${url} || ${config}{'opengraph_url'} || "http://ikiwiki.info/";
my ${opengraph_tags} =<<EOF;
<meta property="og:title" content="${opengraph_title}">
\t<meta property="og:description" content="${opengraph_description}"/>
\t<meta property="og:type" content="${opengraph_type}">
\t<meta property="og:image" content="${opengraph_image}">
\t<meta property="og:url" content="${opengraph_url}">
EOF
${args}{template}->param('OPENGRAPH_TAGS' => ${opengraph_tags})
}
1;
然后在 page.tmpl 上添加:
<TMPL_IF OPENGRAPH>
<TMPL_VAR OPENGRAPH_TAGS>
</TMPL_IF>
您可以使用相同的方法向页面的HTML 部分中动态添加元素,或者您可以采用更简单的方法,但难以维护,这很难直接在上编写HTML page.tmpl 文件。
来自docs:
模板文件不同于模板页面,因为它们具有 扩展名.tmpl。 Ikiwiki广泛使用模板文件来 生成html。它们可以包含通常不会 允许在Wiki页面上使用。
默认情况下,模板文件位于/ usr / share / ikiwiki / templates中。 templatedir设置可用于使另一个目录成为 首先搜索。定制的模板文件也可以放在里面 Wiki来源中的“ templates /”目录-放置在其中的文件 覆盖templatedir中的内容。
确保您要修改的 page.tmpl 文件存储在模板目录下。在 wiki.setup 文件中查找此选项:
# additional directory to search for template files
templatedir: /usr/share/ikiwiki/templates