2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

アスキーアート総合Advent Calendar 2018

Day 11

したらば掲示板のAAをずれなく表示するChrome Extensionを作る

Posted at

本記事はしたらば掲示板のAAにAA表示用日本語フォントを適用するChrome拡張機能を作る内容です。

あらすじ

まず下の画像をみてください。
Screen Shot 2018-12-21 at 19.41.48.png

こちらは我がMacBookProのChromeから「したらば掲示板」を見た時の状態です。ご覧の通りずれてますね。このままだと非常に読みづらいですね。

というわけで今回はこちらのサイトにAA表示用日本語フォントを適用するChrome拡張機能を作りたいと思います。

作ったもの

現在、Chromeウェブストアに並んでいます。
AAHub-Extension

こちらをお使いのChromeブラウザに追加すると右クリックで「AAHubフォント適用」というメニューが現れるようになります。
Screen Shot 2018-12-21 at 19.46.07.png

そして、「AAHubフォント適用」を選択すると...
Screen Shot 2018-12-21 at 19.46.17.png

ご覧の通り、やる夫がずれずに表示されるようになります。クール!!

作り方

作り方といってもこれだけだと非常に短いソースコードで完成します。必要なファイルはmanifest.json、base.js、background.jsのみ

manifest.json
{
  "name": "AAHub-Extension",
  "version": "0.1",
  "description": "したらば掲示板にAAHubフォントに変更します。Mac等でアスキーアートが崩れずに表示されるようになります。",
  "manifest_version": 2,
  "icons": {
    "16": "images/icon16.png",
    "32": "images/icon32.png",
    "48": "images/icon48.png",
    "128": "images/icon128.png"
  },
  "background": {
    "scripts": ["js/background.js"],
    "persistent": false
  },
  "permissions": ["tabs","https://jbbs.shitaraba.net/", "contextMenus"]
}
js/background.js
var parentId = chrome.contextMenus.create({
  "id": "parent",
  "title" : "AAHubフォント適用",
  "type": "normal",
  "contexts": ["all"]
});
chrome.contextMenus.onClicked.addListener( function(info, tab) {
  chrome.tabs.executeScript(tab.id, { file: "js/base.js" });
});
js/base.js
var fa = document.createElement('style');
fa.type = 'text/css';
fa.textContent = '@font-face { font-family: "aahub"; src: url("https://storage.aahub.org/fonts/aahub_light.woff2") format("woff2"), url("https://storage.aahub.org/fonts/aahub_light.woff2") format("woff");}';
document.head.appendChild(fa);
var authorNode = document.querySelector(
  "dl"
);
if (authorNode) {
  authorNode.style.fontFamily = "aahub";
}

これだけで完成です。
ソースコードはGitHubにあります。興味あったら見てみてください(そしてスターを...)
AAHub/AAHub-extension

まとめ

Chrome拡張機能、意外と簡単に作成可能なのでもし、普段困ってることがあったら自分の問題の解決のために作ってみましょう。僕はいずれまた何か作るかもしれません。
それでは。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?