首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >以相同的方式访问Pelican页面和文章元数据?

以相同的方式访问Pelican页面和文章元数据?
EN

Stack Overflow用户
提问于 2020-04-05 11:04:20
回答 1查看 54关注 0票数 0

我目前在我的base.html Pelican模板中有这个部分:

代码语言:javascript
运行
AI代码解释
复制
{% if article and article.author %}
<meta name="author" content="{{ article.author }}" />
<meta name="copyright" content="{{ article.author }}" />
{% elif page and page.author %}
<meta name="author" content="{{ page.author }}" />
<meta name="copyright" content="{{ page.author }}" />
{% else %}
<meta name="author" content="{{ AUTHOR }}" />
<meta name="copyright" content="{{ AUTHOR }}" />
{% endif %}

有没有一种方法可以简化这个过程,例如

代码语言:javascript
运行
AI代码解释
复制
<meta name="author" content="{{ publication.author }}" />
<meta name="copyright" content="{{ publication.author }}" />

发布是page还是article?(我想一件事永远不可能同时是一页和一篇文章?)

EN

回答 1

Stack Overflow用户

发布于 2020-05-01 02:41:51

你可以这样做:

代码语言:javascript
运行
AI代码解释
复制
{% if article.author %} {% set author = article.author %}
{% elif page.author %} {% set author = page.author %}
{% else %} {% set author = AUTHOR %} {% endif %}

{% if page or article %}
<meta name="author" content="{{ author }}" />
<meta name="copyright" content="{{ author }}" />
{% endif %}

你应该能够删除最后一个" if“,因为如果你把它放在属于页面或文章的块中,这是不必要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61041567

复制
相关文章
【Kotlin】空安全 ③ ( 手动空安全管理 | 非空断言操作符 !! | 使用 if 语句判空 )
Kotlin 中的 可空类型 变量 , 在运行时 可以选择 不启用 安全调用 操作 ,
韩曙亮
2023/03/30
2K0
【Kotlin】空安全 ③ ( 手动空安全管理 | 非空断言操作符 !! | 使用 if 语句判空 )
【Kotlin】空安全 ② ( 手动空安全管理 | 空安全调用操作符 ? | let 函数结合空安全调用操作符使用 )
文章目录 一、手动空安全管理 二、空安全调用操作符 ? 三、let 函数结合空安全调用操作符使用 一、手动空安全管理 Kotlin 语言中 , 变量类型 分为 可空类型 和 非空类型 , 默认状态 下
韩曙亮
2023/03/30
6150
【Kotlin】空安全 ② ( 手动空安全管理 | 空安全调用操作符 ? | let 函数结合空安全调用操作符使用 )
【Kotlin】空安全 ④ ( 手动空安全管理 | 空合并操作符 ?: | 空合并操作符与 let 函数结合使用 )
如果 表达式 A 的值 不为 null , 则 整个表达式的值 就是 表达式 A 的值 ;
韩曙亮
2023/03/30
8830
【Kotlin】空安全 ④ ( 手动空安全管理 | 空合并操作符 ?: | 空合并操作符与 let 函数结合使用 )
空对象和空的对象
空对象:表面内部不包含任何属性和方法的对象,比如var obj={}就是一个空对象
十月梦想
2018/08/29
1.3K0
浅谈Kotlin(八):空安全、空类型
这样要比传统写法 if(name==null) -1 else name.length 要简介
听着music睡
2022/01/04
9510
浅谈Kotlin(八):空安全、空类型
使用python实现mqtt的发布和订阅
注解函数: client.connect(self, host, port, keepalive, bind_address) client.publish(self, topic, payload, qos, retain) client.subscribe(self, topic, qos) 测试订阅(sub)  在本机上编写程序测试订阅功能,就是让自己的程序作为一个接收者,同一个主题没有发布(pub)信息的时候,就自己一直等候。
py3study
2020/01/10
6.6K0
【Kotlin】空安全 ① ( Kotlin 的空安全机制 | 变量可空性 | 默认变量不可赋空值 | 声明可空类型变量 )
在 Java 语言 编写的程序中 , 出现最多的崩溃就是 NullPointerException 空指针异常 ,
韩曙亮
2023/03/30
2K0
【Kotlin】空安全 ① ( Kotlin 的空安全机制 | 变量可空性 | 默认变量不可赋空值 | 声明可空类型变量 )
Flutter 空安全的糖果罐
Fluter 2.0 已经发布了一段时间了,其中一项就是包含 Dart 2.12 的稳定版,完全支持空安全声明。作为一个进步的 Flutter 组织 , 组织的小伙伴也在第一时间支持了空安全。
前端小tips
2021/12/07
1.6K0
Flutter 空安全的糖果罐
【老孟Flutter】强大的空安全
空安全(Sound null safety)是 Dart 2.12 中新增的一项特性,空安全特性并不是 Dart 独有的,Kotlin, TypeScript, C#, Swift 等语言都有此特性,如果你了解这些语言的空安全特性及用法,那么下面关于 Dart 语言空安全特性的介绍你会感到非常熟悉,因为 Dart 语言空安全和其他语言基本一致。
老孟Flutter
2021/04/22
2.5K0
【老孟Flutter】强大的空安全
MQTT 订阅选项的使用
在 MQTT 发布/订阅模式介绍这篇博客中,我们已经了解到,我们需要先向服务端发起订阅,才能从服务端接收对应的消息。如果说订阅时指定的主题过滤器决定了服务端将向我们转发哪些主题下的消息,那么订阅选项则是允许我们进一步定制服务端的转发行为。
EMQ映云科技
2023/07/19
5980
MQTT 订阅选项的使用
Dart空安全终极指南
Null Safety 的引入是 Dart 语言的一个重要里程碑。Null Safety 通过「在开发期间而不是在运行时捕获 null 错误来」帮助您避免一整类问题。
用户1974410
2022/09/20
1.2K0
Dart空安全终极指南
Redis的发布和订阅
1. 什么是发布和订阅 Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息 Redis 客户端可以订阅任意数量的频道2. Redis的发布和订阅1、客户端可以订阅频道如下图 [在这里插入图片描述] 2、当给这个频道发布消息后,消息就会发送给订阅的客户端 [在这里插入图片描述] 3. 发布订阅命令行实现 1、打开一个客户端订阅channel1 SUBSCRIBE channel1 [在这里插入图片描述] 2、打开另一个客户端,给channe
兮动人
2022/02/24
5010
【Kotlin】空安全总结 ( 变量可空性 | 手动空安全管理 | 空安全调用操作符 | 非空断言操作符 | 空合并操作符 | 空指针异常处理 | 先决条件函数判空 )
在 Java 语言 编写的程序中 , 出现最多的崩溃就是 NullPointerException 空指针异常 ,
韩曙亮
2023/03/30
1.8K0
【Kotlin】空安全总结 ( 变量可空性 | 手动空安全管理 | 空安全调用操作符 | 非空断言操作符 | 空合并操作符 | 空指针异常处理 | 先决条件函数判空 )
flutter项目迁移空安全
6. 迁移 你的代码里大部分需要更改的代码,都是可以轻易推导的。例如,如果一个变量可以为空,它的类型需要 ? 后缀。一个不可以为空的命名参数,需要使用 required 标记。 针对迁移,你有两个选项
徐建国
2021/11/30
7980
flutter项目迁移空安全
Kubernetes 多卡GPU使用和分析
Kubernetes中通过device plugin将GPU作为一种resource来使用,因此需要先创建一个device plugin将GPU信息注册到Kubernetes中。NVIDIA官方提供了一个GPU device plugin,详情可见https://github.com/NVIDIA/k8s-device-plugin。
langwu 吴英文
2019/09/01
10.9K1
使用SQLServer同义词和SQL邮件,解决发布订阅中订阅库丢失数据的问题
最近给客户做了基于SQLServer的发布订阅的“读写分离”功能,但是某些表数据很大,经常发生某几条数据丢失的问题,导致订阅无法继续进行。但是每次发现问题重新做一次发布订阅又非常消耗时间,所以还得根据“复制监视器”的提示,找到丢失的数据,手工处理。 定位缺失数据 首先,找到出问题的同步语句,在发布服务器的“复制监视器”上事务订阅的详细信息里面,找到出错的信息 尝试的命令: if @@trancount > 0 rollback tran (事务序列号: 0x0000992600000D09007F00000
用户1177503
2018/02/27
1.6K0
使用SQLServer同义词和SQL邮件,解决发布订阅中订阅库丢失数据的问题
深入理解Dart空安全
点击上方蓝字,发现更多精彩 导语 最近在迁移司内项目至空安全的过程中,深入研究了Dart的空安全特性。这项特性不仅能让开发者在编译阶段发现代码中存在的空指针异常,也能提升程序的运行效率。下面将从静态分析的角度讲一讲Dart如何对空安全特性进行支持、新旧版本之间的编码差异、如何迁移旧项目至空安全以及整个迁移原理做详细说明。 一、引入空安全 1.1 什么是空安全特性 Dart 语言在版本 2.12 中引入一项叫做空安全的新特性,在空安全版本下,运行时的NPE(NullPointer Exception)异常
腾讯VTeam技术团队
2021/08/17
4.5K1
Kotlin初级(2)- - - 空安全.md
如果可空变量为null时,返回null 这种用法大量用于链式操作,能有效避免空指针异常
Hankkin
2018/09/30
6820
21条最佳实践,全面保障 GitHub 使用安全
GitHub 是开发人员工作流程中不可或缺的一部分。无论你去哪个企业或开发团队,GitHub 都以某种形式存在。它被超过8300万开发人员,400万个组织和托管超过2亿个存储库使用。GitHub 是世界上最大的源代码托管服务平台。 ​
宜轩
2022/12/26
1.9K0
RFID 低频卡安全分析
低频非接触卡主要用于门禁丶考勤等等在日常生活中使用非常的广泛,但他也具有比较大的安全隐患,他没有一些密钥安全认证这类安全机制,所有我们只要对低频卡有所研究就可以对这些卡进行破解和复制。
信安之路
2018/08/08
2.4K0
RFID 低频卡安全分析

相似问题

支持3D安全卡Stripe支付开始订阅

210

使用PaymentIntent对3d安全支付进行条带化

144

条带化订阅

40

条带化PaymentIntents +订阅

116

条带化Sinatra订阅

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文