主要观点:作者对语义标记的想法很痴迷,希望所写的文字能被人类和机器理解。以一段代码为例,探讨如何在 HTML 中表示编程语言及相关问题,提到 HTML 规范中 lang 属性只能用于人类语言,code 元素无正式指示计算机代码语言的方式,需借助 Schema.org 的 SoftwareSourceCode 类型,还介绍了一些替代方法如定义语言的私有子标签、使用 data-属性等,并认为规范中存在此方面的缺口,应添加 code-lang 属性等。
关键信息:
- 一段代码
print( "Hello, world!" )
不知是何种编程语言。 - HTML 中用
<pre><code>
表示代码,规范规定 lang 属性只能是人类语言。 - Schema.org 的
SoftwareSourceCode
类型可用于表示代码语言,但无示例文档。 - 可通过
<pre itemscope itemtype="https://schema.org/SoftwareSourceCode"><span itemprop="programmingLanguage">Python</span><meta itemprop="codeSampleType" content="Example"><code itemprop="text">print( "Hello, world!" )</code></pre>
语义暴露编程语言。 - 有定义语言私有子标签等替代方法,如
en-x-python
,但编程语言并非真正的语言,使用 lang 属性可能不合适,data-属性可用于样式化代码块但不标准化。
重要细节: - HTML 规范中关于 lang 属性的规定及引用链接。
- Schema.org 中
SoftwareSourceCode
类型的相关内容及引用链接。 - 不同替代方法的介绍及相关链接。
- 对规范中应添加 code-lang 属性的设想及示例。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。