🛠️
Google Apps Scriptで作ったWebページにタイトルを付ける
概要
Google Apps ScriptでWebページを公開する際に、HTMLにtitleタグを付与しても何故か反映されない
微妙に困る挙動なので、自前でタグを解釈し反映させる
環境
個人用アカウントのGoogle Apps Script
ファイル構成
index.html ... トップページ
main.gs ... ウェブページの表示処理
ソースコード全体
function doGet(e) {
let html = HtmlService.createTemplateFromFile('index');
return html.evaluate().setTitle(getTitle('index'));
}
function getTitle(page) {
let contents = HtmlService.createHtmlOutputFromFile(page + '.html').getContent()
const re = new RegExp('(?<=<title>).+(?=</title>)');
let title = null
if (re.test(contents)) {
title = re.exec(contents)[0].trim()
}
return title
}
解説
getTitle関数で対象のhtmlファイルを取得し、titleタグの内容(文字列)を返却する
doGet側は文字列をsetTitleすることで、ページにタイトルが設定される
#正規表現の内容については先読みと後読みでググるとヒットします
Discussion