Bloggerの空テンプレートを作成する
Bloggerの自作テンプレート作成に向けての第一歩です。
空テンプレート
Bloggerテンプレートの最小構成です。
空テンプレートの基準は以下の通りです。詳しくは参考の資料を参照してください。
<b:skin>
を含む<b:section>
を含む- 各セクションに一意のIDを設定する
- 構文が正しい
上記の基準を満たさない場合、テンプレートの保存に失敗する。
<?xml version="1.0" encoding="UTF-8" ?>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<b:skin></b:skin>
</head>
<body>
<b:section id='main' showaddelement='yes'/>
</body>
</html>
出力
空テンプレートの出力には、以下の通りです。Blogger標準のCSSとJSが大量にくっついた形で出力されます。
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<link href='https://www.blogger.com/static/v1/widgets/2549344219-widget_css_bundle.css' rel='stylesheet' type='text/css'/>
<style id='page-skin-1' type='text/css'><!--
--></style>
</head>
<body>
<div class='no-items section' id='main'></div>
<script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/640298382-widgets.js"></script>
<script type='text/javascript'>
window['__wavt'] = 'AOuZoY6v5qufk6o_-qX7YrWmZEWP_xflkQ:1556691816496';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d4863363469296822308','//niimizo.blogspot.com/','4863363469296822308');
_WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '4863363469296822308', 'title': '新溝の日々', 'url': 'https://niimizo.blogspot.com/', 'canonicalUrl': 'http://niimizo.blogspot.com/', 'homepageUrl': 'https://niimizo.blogspot.com/', 'searchUrl': 'https://niimizo.blogspot.com/search', 'canonicalHomepageUrl': 'http://niimizo.blogspot.com/', 'blogspotFaviconUrl': 'https://niimizo.blogspot.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': false, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': '', 'encoding': 'UTF-8', 'locale': 'ja', 'localeUnderscoreDelimited': 'ja', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22新溝の日々 - Atom\x22 href\x3d\x22https://niimizo.blogspot.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22新溝の日々 - RSS\x22 href\x3d\x22https://niimizo.blogspot.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22新溝の日々 - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/4863363469296822308/posts/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/78a598507f5735a0', 'plusOneApiSrc': 'https://apis.google.com/js/plusone.js', 'disableGComments': true, 'sharing': {'platforms': [{'name': 'リンクを取得', 'key': 'link', 'shareMessage': 'リンクを取得', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Facebook で共有', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'Twitter', 'key': 'twitter', 'shareMessage': 'Twitter で共有', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Pinterest で共有', 'target': 'pinterest'}, {'name': 'メール', 'key': 'email', 'shareMessage': 'メール', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 300, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27ja\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': '続きを読む', 'pageType': 'index', 'pageName': '', 'pageTitle': '新溝の日々', 'metaDescription': ''}}, {'name': 'features', 'data': {'sharing_get_link_dialog': 'true', 'sharing_native': 'false'}}, {'name': 'messages', 'data': {'edit': '編集', 'linkCopiedToClipboard': 'リンクをクリップボードにコピーしました。', 'ok': 'OK', 'postLink': '投稿のリンク'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'カスタム', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': '新溝の日々', 'description': '', 'url': 'https://niimizo.blogspot.com/', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': true, 'isArchive': false, 'isLabelSearch': false}}]);
</script>
</body>
</html>
標準CSSとJSを取り除く
<?xml version="1.0" encoding="UTF-8" ?>
<html b:css='false' b:js='false' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<b:skin></b:skin>
</head><!--</head>-->
<body>
<b:section id='main' showaddelement='yes'/>
<!--</body>--></body>
</html>
出力
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<style id='page-skin-1' type='text/css'><!--
--></style>
</head><!--
</head>-->
<body>
<div class='no-items section' id='main'></div>
<!--
</body>--></body>
</html>
※空テンプレートの段階では、htmlのb:cssとb:jsのみでCSSとJSを排除できます。ただし、他の設定によって追加されることがあるため、headとbodyタグ末尾の処理をしておいたほうが安全です。
ウィジェットの追加
以下の手順でウィジェットを追加できます。(勝手にウィジェット標準の記述が追加されます)
- 以下のコードを
<b:section>
文と置き換えて保存する。 - エディタを一度閉じる
- 再度エディタを開く
<b:section id='main' showaddelement='yes'>
<b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'/>
</b:section>
最新バージョンに対応する
最新バージョン
- テーマ:b:version='2'
- テンプレート:b:b:templateVersion='1.3.0'
- レイアウト:b:layoutsVersion='3'
- ウィジェット:version='2'
- スキン:version='1.3.0'
<?xml version="1.0" encoding="UTF-8" ?>
<html b:css='false' b:defaultwidgetversion='2' b:js='false' b:layoutsVersion='3' b:responsive='true' b:templateVersion='1.3.0' b:version='2' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<b:skin version='1.3.0'></b:skin>
</head><!--</head>-->
<body>
<b:section id='main' showaddelement='yes'/>
<!--</body>--></body>
</html>
※上記のテンプレートに「ウィジェットの追加」の手順で追加するとバージョン2のウィジェットが追加される
※<b:defaultmarkups>
がなくても動作するっぽい
備考
<b:skin>
,<b:section>
も削除できるようです。
最大限何も出力しない記載例を次に示します。
<html b:css='false' b:js='false'>
<head><b:if cond='false'><b:skin></b:skin></b:if></head>
<body><b:if cond='false'><b:section id='main' showaddelement='yes'/></b:if></body>
</html>
<html>
<head>
</head>
<body>
</body>
</html>