这个 <code> 块中是什么编程语言?

主要观点:作者对语义标记的想法很痴迷,希望所写的文字能被人类和机器理解。以一段代码为例,探讨如何在 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 属性的设想及示例。
阅读 10
0 条评论