自动<a> around headings in Pandoc</a>

时间:2013-05-11 11:27:54

标签: html hyperlink markdown pandoc html-heading

此Markdown代码:

# Introduction

使用Pandoc编译时转换为HTML代码:

<h1 id="introduction"><a href="#introduction">Introduction</a></h1>

我使用Markdown的方式:

  1. 生成HTML文档
  2. 在MS Word中编辑以添加页码
  3. HTML版本转到博客,MS Word版本转到单一提交
  4. 在CSS中我可以覆盖链接颜色,如果它们在H#标签内,但是MS Word在解释CSS覆盖的层次结构时遇到问题......并且最终会以错误的颜色结束。

    有没有办法生成HTML而没有标题包含在锚标记中,如下所示?

    <h1 id="introduction">Introduction</h1>
    

1 个答案:

答案 0 :(得分:0)

如果没有解决方案,这里有一个PHP脚本,我写的是从标题中删除必须在生成的HTML文件上运行的标记:

<?php
// Usage: php cleanheadings.php myhtmlfile.html

// Check that arguments were supplied
if(!isset($argv[1])) die('No input file, exiting');

// Load file
$content = file_get_contents($argv[1]);

// Cut out the <a> tag
$heading = '/(<h[123456] id="[\w-0-9]+">)(<a href="#[\w-0-9]+">)(.+)(<\/a>)(<\/h[123456])/mu';
$clean   = '$1$3$5';

$cleanhtml = preg_replace($heading,$clean,$content);

// Write changes back to file
file_put_contents($argv[1], $cleanhtml);
?>