Обновите все якорные ссылки href в папке HTML-файлов - PullRequest
0 голосов
/ 28 октября 2018

Я использую Gatsbyjs для создания статического сайта, при этом выводится папка со статическими файлами HTML.

У меня есть требование для размещения этих файлов HTML в Microsoft SharePoint - для этого требуется преобразование .htmlна .aspx для их запуска.

У меня есть постскриптум, который обновляет все .html до .aspx (это прекрасно работает).

Однако все сгенерированные ссылки указываютв папку:

<a href="/folder/">link</a>

Чтобы это работало на sharepoint, мне нужно обновить каждый href в каждом html-файле, чтобы он указывал на файл index.aspx в каждой папке:

<a href="/folder/index.aspx">link</a>

Какой лучший способ сделать пост сборку ?В идеале я хотел бы включить это как часть моего сценария после сборки.Можно ли это сделать с помощью веб-пакета?Или мне лучше использовать что-то вроде JSDOM, чтобы перебирать каждый файл и обновлять каждую из ссылок?

1 Ответ

0 голосов
/ 28 октября 2018

Возможно, вам лучше использовать cheerio , который легче jsdom и поддерживает большую часть синтаксиса jquery.

var html = fs.readFileSync(input.html);
const $ = cheerio.load(html);
var output = $('a[href="folder"').attr('href', '/folder/index.aspx').html();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...