この広告は、90日以上更新していないブログに表示しています。
こんにちはnasustです。
nasust dev blog更新しました。
Google Material Icons Code Point を調べました | Blog | nasust dev blog
更新内容
Web FontのGoogle Material IconsのCode Pointを調べて一覧を作成しました。
後書き
Google Material Iconsの公式サイトでアイコンの指定の仕方は<i class="material-icons">android</i>
ですが、フォントが完全に読み込むまでandroid
が表示されてしまうですよね。それが嫌なので、私はCode Pointで指定する様にしています。
Outlineなどの他のスタイルのアイコンのCode Pointはググっても探せなかったので、全部フォントから調べました。調べるのに調査用スクリプトを書いたりと時間が掛かりました。
")
});
})();
(function() {
//ぼけ画像の背景と画像の平均色を背景に設定
var archiveEntry = $(".archive-entry:first");
//googleのスクリプトを削除
$(".entry-description").each(function() {
var ed = $(this);
var description = ed.text();
description = description.replace("(adsbygoogle = window.adsbygoogle || []).push({});", "")
ed.text(description);
});
//続きを読むを追加
$(".archive-entry").each(function() {
var archiveEntry = $(this)
var entryTitleLink = archiveEntry.find(".entry-title-link");
var href = entryTitleLink.attr("href")
var entryTitleLink = archiveEntry.find(".entry-description");
var html = "
続きを読む";
entryTitleLink.after(html);
});
if (!md.mobile()) {
(function() { //サイトマップを移動
var sitemap = $("#sitemap");
var entry = $(".entry");
if (entry.length === 1) {
entry.after(sitemap);
} else {
var mainInner = $("#main-inner");
mainInner.append(sitemap);
}
}());
}
}());
(function(config) {
var categoriesRule = [];
config.categories.forEach(function(configCategoryRuleRow) {
var categoriesRuleRow = [];
configCategoryRuleRow.forEach(function(configCategoryRuleCol) {
var rule = {
title: undefined,
priority: 0,
url: undefined
};
if ($.isArray(configCategoryRuleCol)) {
rule.title = configCategoryRuleCol[0];
if (configCategoryRuleCol.length >= 1) {
rule.url = configCategoryRuleCol[1];
}
} else {
rule.title = configCategoryRuleCol;
}
categoriesRuleRow.push(rule)
});
var key = categoriesRuleRow[categoriesRuleRow.length - 1].title;
categoriesRule[key] = categoriesRuleRow;
});
var moreRelatedArticleRender = function() {
var categoryLink = $(".entry-categories a:first");
if (categoryLink.length > 0) {
var href = categoryLink.attr("href");
relatedArticle = $(".relatedArticle");
if (relatedArticle.length > 0) {
html = "
";
// html += ""
relatedArticle.after(html);
}
}
}
var renderCategoryTree = function(ruleRow) {
var html = "
"
if (config.top) {
html += "- トップ
"
}
ruleRow.forEach(function(ruleCol, index) {
var className = "category-tree-child"
if (index == ruleRow.length - 1) {
className = "category-tree-last"
}
var href = config.categoryURLPrefix + encodeURI(ruleCol.title);
if (ruleCol.url) {
href = ruleCol.url;
}
html += "- " + ruleCol.title + "
"
});
html += "
"
if (!md.mobile() || md.tablet()) {
$(".entry-header").append(html);
} else {
var eyecache = $(".eyecache");
if (eyecache.length > 0) {
eyecache.after("");
} else {
$(".entry-header").append(html);
}
}
moreRelatedArticleRender();
$(".entry-categories").remove();
//$( "").appendTo(".entry-content");
//$(".entry-contet-footer").append( html );
}
$(".entry-categories").each(function() {
var categories = $(this);
var hitRuleList = [];
var categorylinks = categories.children();
categorylinks.each(function() {
var categoryLink = $(this);
var cunnretHitRule = categoriesRule[categoryLink.text()];
if (cunnretHitRule) {
var updateIndex = -1;
hitRuleList.forEach(function(hitRule, index) {
if (hitRule.length < cunnretHitRule.length) {
var hit = true;
for (var i = 0; i < hitRule.length; i++) {
var hitRuleTitle = hitRule[i].title;
var cunnretHitRuleTitle = cunnretHitRule[i].title;
if (hitRuleTitle !== cunnretHitRuleTitle) {
hit = false;
}
}
if (hit) {
updateIndex = index;
}
} else if (hitRule.length > cunnretHitRule.length) {
var hit = true;
for (var i = 0; i < cunnretHitRule.length; i++) {
var hitRuleTitle = hitRule[i].title;
var cunnretHitRuleTitle = cunnretHitRule[i].title;
if (hitRuleTitle !== cunnretHitRuleTitle) {
hit = false;
}
}
if (hit) {
updateIndex = -2;
}
}
});
if (updateIndex == -1) {
hitRuleList.push(cunnretHitRule)
} else if (updateIndex == -2) {
//ignore
} else {
hitRuleList[updateIndex] = cunnretHitRule;
}
}
})
if (hitRuleList.length > 0) {
hitRuleList.forEach(function(hitRule) {
renderCategoryTree(hitRule);
});
} else {
var categoryRuleRow = [];
categorylinks.each(function() {
var categoryLink = $(this);
categoryRuleRow.push({
title: categoryLink.text(),
priority: 0,
url: undefined
});
});
renderCategoryTree(categoryRuleRow);
}
})
})({
top: "/archive",
categoryURLPrefix: "/archive/category/",
categories: [
["雑記", "社会"],
["雑記", "IT色々"],
["雑記", "Spotify"],
["はてなブログカスタマイズ"],
["プログラミング"],
["プログラミング", "WEB開発"],
["プログラミング", ["Go言語 / golang", "/entry/golang"]],
["プログラミング", ["Go言語 / golang", "/entry/golang"],
["Go言語入門 / golang 入門", "/entry/2016/11/17/002020"]
],
["プログラミング", "Swift", "Swift入門"],
[
["WEBデザイン入門", "/entry/webdesign"], "ブロガー向けのCSS入門"
],
[
["人力まとめ", "/entry/newscuration"], "はてなブログ村のまとめ"
],
[
["人力まとめ", "/entry/newscuration"], "UI/UX/Webデザインのまとめ"
],
[
["人力まとめ", "/entry/newscuration"], "プログラミングのまとめ"
],
[
["人力まとめ", "/entry/newscuration"], "ライフハック・労働のまとめ"
]
]
});
(function(config) {
if (!$('body').hasClass('page-archive')) {
return;
}
if (location.pathname != "/archive") {
return;
}
$(".archive-entry").each(function() {
var archiveEntry = $(this);
var archiveCategoryLinkResult = archiveEntry.find(".archive-category-link");
archiveCategoryLinkResult.each(function() {
var archiveCategoryLink = $(this);
if (config.indexOf(archiveCategoryLink.text()) >= 0) {
archiveEntry.remove();
return false;
}
})
});
}(["ビジネス・金融・マーケットのまとめ",
"政治・社会のまとめ",
"プログラミングのまとめ",
"Apple・Mac・iPhone・iPadのまとめ",
"はてなブログ村のまとめ",
"ライフハック・労働のまとめ",
"色々なブックマークまとめ",
"UI/UX/Webデザインのまとめ"
]));
//はてブ数追加
(function() {
var hrefList = [];
var archiveEntries = $(".archive-entry");
archiveEntries.each(function() {
var archiveEntry = $(this)
var entryTitleLink = archiveEntry.find(".entry-title-link");
var href = entryTitleLink.attr("href")
hrefList.push(href);
})
if (hrefList.length === 0) {
return;
}
var uris = ""
for (var i = 0; i < hrefList.length; i++) {
uris += "url=" + encodeURIComponent(hrefList[i]) + "&"
}
$.getJSON("http://api.b.st-hatena.com/entry.counts?" + uris + "callback=?", function(json) {
archiveEntries.each(function() {
var archiveEntry = $(this)
var entryTitleLink = archiveEntry.find(".entry-title-link");
var href = entryTitleLink.attr("href")
var count = json[href];
if (count > 0) {
var html = "
"
if (count < 10) {
html += ""
} else {
html += ""
}
html += ""
html += count;
html += ""
html += " bookmarks";
html += ""
html += "
"
entryTitleLink.before(html);
}
});
});
}());
//スター数追加
(function() {
var urlList = [];
var archiveEntries = $(".archive-entry");
archiveEntries.each(function() {
var archiveEntry = $(this)
var entryTitleLink = archiveEntry.find(".entry-title-link");
var href = entryTitleLink.attr("href")
urlList.push(encodeURIComponent(href));
})
if (urlList.length === 0) {
return;
}
url = "https://nasust.com/fcgi/star?urls="
url += urlList.join(",")
url += "&callback=?"
$.getJSON(url, function(json) {
archiveEntries.each(function() {
var archiveEntry = $(this);
var entryTitleLink = archiveEntry.find(".entry-title-link");
var href = entryTitleLink.attr("href");
var count = json[href];
if (count > 0) {
var html = "
" + count + "
";
entryTitleLink.before(html);
}
});
});
}());
$(window).load(function() {
var addHatenaStar = function(moduleName) {
var urlListItems = $(moduleName).find(".urllist-item-inner");
if (urlListItems.length == 0) {
return;
}
var urlList = [];
urlListItems.each(function() {
var urlListItem = $(this);
var link = urlListItem.find(".urllist-title-link");
var href = link.attr("href");
urlList.push(encodeURIComponent(href));
});
url = "https://nasust.com/fcgi/star?urls="
url += urlList.join(",")
url += "&callback=?"
$.getJSON(url, function(json) {
urlListItems.each(function() {
var urlListItem = $(this);
var link = urlListItem.find(".urllist-title-link");
var href = link.attr("href");
var starCount = json[href];
if (starCount > 0) {
var html = "
" + starCount + "
";
urlListItem.append(html);
}
});
});
}
addHatenaStar(".hatena-module-entries-access-ranking");
addHatenaStar(".hatena-module-recent-entries");
addHatenaStar(".hatena-module-related-entries");
});
');
} else {
$(".hatena-module-html").remove();
}
// スクロールを滑らかにする
var lastModule_a = $('a', lastModule);
lastModule_a.on('click', function() {
$('html,body').animate({
scrollTop: $(this.hash).offset().top
}, 300);
return false;
});
//-----------------------------------
// 現在位置の設定
var current = -1;
function setCurrent(i) {
if (i != current) {
current = i;
lastModule_a.removeClass('current');
lastModule_a.eq(i).addClass('current');
}
}
setCurrent(0); // 初期位置登録
//-----------------------------------
// 最後のモジュールを追従させる
var MARGIN = 15; // モジュールを固定した時の余白
var scrollHeight = $(document).height();
// fixedの時見た目が変わらないように横幅を指定
//lastModule.css('width', $('#box2').width());
// モジュールの親要素の高さをコンテンツ部分の高さに合わせる
$('#box2-inner').css({
'height': $('#content').height(),
'position': 'relative'
});
// モジュールを固定したい位置 と 下までスクロールした時にモジュールの固定を解除したい位置を取得
var arr = (function() {
var container = $('#container');
// サイドバーより上の部分の高さ
// #header-body.height : 37
var headerHeight = 37 + parseInt(container.css('margin-top'), 10);
var blogTitleHeight = $('#blog-title').outerHeight(true);
// 最後のモジュール以外のサイドバー高さ合計
var sidebarHeight = 0;
var module = $('.hatena-module');
var moduleIndexLast = module.length - 1;
var moduleMarginBottom = parseInt(module.css('margin-bottom'), 10);
module.each(function(i) {
if (i >= moduleIndexLast)
return false;
sidebarHeight += $(this).outerHeight(true);
});
var stop = headerHeight + blogTitleHeight + sidebarHeight - MARGIN;
var props = container.css(['margin-bottom', 'padding-bottom']);
var containerBottom = parseInt(props['margin-bottom'], 10) + parseInt(props['padding-bottom'], 10);
var start = scrollHeight - $('#footer').outerHeight() - containerBottom -
moduleMarginBottom - lastModule.outerHeight() - (MARGIN * 2);
return [stop, start];
}());
var scrollStop = arr[0];
var scrollStart = arr[1];
//-----------------------------------
// スクロールイベント
var SCROLL_MARGIN = 50;
var sectionIndexLast = sectionTopArr.length - 1;
win.scroll(function() {
var winHeight = win.height();
var scrollRange = scrollHeight - winHeight;
var scrollTop = win.scrollTop();
// 現在位置
if (scrollTop <= SCROLL_MARGIN) {
setCurrent(0);
} else if ((scrollRange - scrollTop) <= SCROLL_MARGIN) {
setCurrent(sectionIndexLast);
} else {
for (var i = sectionIndexLast; i >= 0; i--) {
if (scrollTop > sectionTopArr[i] - SCROLL_MARGIN) {
setCurrent(i);
break;
}
}
}
});
});