Постобработка нескольких файлов HTML: скопируйте содержимое <h1> в тег <title>

Предположим, у меня есть несколько скомпилированных HTML-файлов из Harp, генератора статических сайтов.

Мой вопрос:

Как выполнить постобработку нескольких файлов HTML, каждый из которых автоматически копирует содержимое тега

в тег ?</strong></p><p>Мне интересно, подходит ли <em>Gulp</em> для этой работы (и если да, то как?), Или, возможно, <em>Sublime Text 3</em> будет иметь такую ​​встроенную функцию?</p> </div> </div> </div> <div class="q-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить вопрос необходимо войти под своим логином." > <div class="btn btn-my btn-block q-like" style="background: #bdc3c7 "> <span itemprop="upvoteCount">0</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> <div class="col-md-10 q-tags"> <a href="/questions/tagged/html" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'html'">html</a> <a href="/questions/tagged/gulp" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'gulp'">gulp</a> <a href="/questions/tagged/sublimetext3" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'sublimetext3'">sublimetext3</a> <a href="/questions/tagged/post-processing" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'post-processing'">post-processing</a> <a href="/questions/tagged/harp" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'harp'">harp</a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="q-source" href="https://stackoverflow.com/questions/34801099/post-processing-multiple-html-files-copy-h1-contents-to-title-tag" target="_blank">Источник</a> <a class="q-share" href="https://stackru.com/questions/16791541/postobrabotka-neskolkih-fajlov-html-skopirujte-soderzhimoe-h1-v-teg-title" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/266991/user266991" class="q-user" rel="noopener" target="_blank">user266991</a> </span> <span class="q-date" title="2016-01-14 22:36"> 14 янв '16 в 22:36</span> <span class="hidden" itemprop="dateCreated" datetime="2016-01-14 22:36">2016-01-14 22:36</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2016-01-14 22:36">2016-01-14 22:36</span> </div> <div id="Answers"> <h2 class="answers-title"> <span class="a-count" itemprop="answerCount">2</span> ответа </h2> <div id="16791549" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Хм... ну, вы <strong>можете</strong> использовать gulp или grunt или любой другой инструмент для сборки.</p><p>Вы также можете использовать некоторые другие инструменты поиска и замены текста, такие как sed.</p><p>если вам нужно больше вещей для ваших файлов (упаковка, постобработка, перемещение, переименование,...), имеет смысл использовать gulp / grunt.</p><p>Если вы в итоге использовали gulp / grunt, вам нужно определить задачу, которая читает содержимое этих файлов, а затем выполняет замену и запись в файл. (требуется немного знаний о nodejs + основы JavaScript)</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">0</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/34801099/post-processing-multiple-html-files-copy-h1-contents-to-title-tag/36274318#36274318" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/16791541/postobrabotka-neskolkih-fajlov-html-skopirujte-soderzhimoe-h1-v-teg-title/16791549#16791549" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/477790/user477790" class="q-user" rel="noopener" target="_blank">user477790</a> </span> <span class="q-date" title="2016-03-29 02:24"> 29 мар '16 в 02:24</span> <span class="hidden" itemprop="dateCreated" datetime="2016-03-29 02:24">2016-03-29 02:24</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2016-03-29 02:24">2016-03-29 02:24</span> </div> </div> <div id="16791550" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Как насчет динамической загрузки страницы?</p><pre><code>var newtext = $("h1").text(); $("title").text(newtext); </code></pre> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">-1</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/34801099/post-processing-multiple-html-files-copy-h1-contents-to-title-tag/34801676#34801676" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/16791541/postobrabotka-neskolkih-fajlov-html-skopirujte-soderzhimoe-h1-v-teg-title/16791550#16791550" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/4859669/user4859669" class="q-user" rel="noopener" target="_blank">user4859669</a> </span> <span class="q-date" title="2016-01-14 23:22"> 14 янв '16 в 23:22</span> <span class="hidden" itemprop="dateCreated" datetime="2016-01-14 23:22">2016-01-14 23:22</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2016-01-14 23:22">2016-01-14 23:22</span> </div> </div> <div class="text-center"> </div> <div class="text-center"> </div> <div class="another-questions"> <div class="row"> <div class="col-md-12 q-tags"> <b>Другие вопросы по тегам</b> <a href="/questions/tagged/html" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'html'">html</a> <a href="/questions/tagged/gulp" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'gulp'">gulp</a> <a href="/questions/tagged/sublimetext3" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'sublimetext3'">sublimetext3</a> <a href="/questions/tagged/post-processing" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'post-processing'">post-processing</a> <a href="/questions/tagged/harp" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'harp'">harp</a> </div> </div> </div> </div> </div> <div class="col-lg-3 AD"> <div id="allFlyout3-0" style="position: sticky; top: 0;"> </div> </div> </div> </div> </section> </main> <div class="padding"></div> </div> <footer> <div class="container"> <div class="row"> <div class="col-sm-6"> <a href="/"> <img src="/static/img/logo.png" alt="stackru.com - Поиск вопросов и ответов по программированию" /> </a> </div> <div class="col-sm-6 text-right"> <span class="pull-right"><a href="mailto:info@stackru.com">info@stackru.com</a></span> <br /> <span class="license pull-left">licensed under <a href="https://creativecommons.org/licenses/by-sa/3.0/" rel="nofollow license" target="_blank">cc by-sa 3.0</a> with attribution</span> </div> </div> </div> </footer> <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(53936023, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/53936023" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-141489240-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-141489240-1'); </script> </body> </html>