{"id":4889,"date":"2025-12-10T19:09:41","date_gmt":"2025-12-10T10:09:41","guid":{"rendered":"https:\/\/matoken.org\/blog\/?p=4889"},"modified":"2025-12-10T19:09:43","modified_gmt":"2025-12-10T10:09:43","slug":"snac-emoji","status":"publish","type":"post","link":"https:\/\/matoken.org\/blog\/2025\/12\/10\/snac-emoji\/","title":{"rendered":"snac \u3067\u30ab\u30b9\u30bf\u30e0\u7d75\u6587\u5b57\u3092\u5229\u7528"},"content":{"rendered":"<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/matoken.org\/blog\/wp-content\/uploads\/2025\/12\/snac-susie.png\" alt=\"snac susie\" width=\"48\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u3055\u304f\u3089\u306e\u30ca\u30ec\u30c3\u30b8\u306b\u8efd\u91cfActivityPub Server \u306esnac \u306b\u3064\u3044\u3066\u306e\u8a18\u4e8b\u3092\u5bc4\u7a3f\u3057\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/matoken.org\/blog\/2025\/12\/09\/sakura-knowledge\/\">\u3055\u304f\u3089\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306e\u3055\u304f\u3089\u306e\u30ca\u30ec\u30c3\u30b8\u306bsnac\u306e\u8a18\u4e8b\u3092\u5bc4\u7a3f \u2013 matoken&#8217;s blog<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>\u3053\u3053\u306b\u66f8\u304b\u306a\u304b\u3063\u305fsnac \u306e\u3053\u3068\u3092\u3044\u304f\u3064\u304b\u66f8\u3044\u3066\u3044\u3053\u3046\u3068\u601d\u3044\u307e\u3059\uff0e<br \/>\n\u4eca\u65e5\u306f\u30ab\u30b9\u30bf\u30e0\u7d75\u6587\u5b57\u306b\u3064\u3044\u3066\uff0e<\/p>\n<\/div>\n<p><!--more--><\/p>\n<div class=\"paragraph\">\n<p>ActivityPub \u5404\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3067\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u308b\u30ab\u30b9\u30bf\u30e0\u7d75\u6587\u5b57\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u3059\uff0e<a href=\"https:\/\/misskey.io\/\">misskey.io<\/a> \u306a\u3093\u304b\u3067\u306f\u7279\u306b\u591a\u7528\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e<br \/>\nsnac \u3082\u30ab\u30b9\u30bf\u30e0\u7d75\u6587\u5b57\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u65e2\u5b9a\u5024\u3067\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u3082\u306e\u3068\u3057\u3066\u4f8b\u3048\u3070toot \u672c\u6587\u4e2d\u306b <code>:-)<\/code> \u3068\u5165\u529b\u3059\u308b\u3053\u3068\u3067\u300c&#128578;\u300d\u304c\uff0c <code>:beer:<\/code> \u3068\u5165\u529b\u3059\u308b\u3053\u3068\u3067\u300c&#127866;\u300d\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e\u4ed6\u306b <code>:shrug2:<\/code> \u3067\u300c&#175;\\_(&#12484;)_\/&#175;\u300d\u306a\u3093\u3067\u3082\u306e\u3082\uff0e\u3067\u3082\u3053\u306e\u3042\u305f\u308a\u306eUnicode\u7d75\u6587\u5b57\u306a\u3069\u306f\u65e5\u672c\u8a9e\u5165\u529b\u74b0\u5883\u304c\u3042\u308b\u3068\u3042\u307e\u308a\u6709\u308a\u96e3\u307f\u306f\u611f\u3058\u306a\u305d\u3046\u3067\u3059\uff0e\u3067\u3082\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3082\u5229\u7528\u3067\u304d\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u81ea\u5206\u3067\u7528\u610f\u3057\u305f\u7d75\u6587\u5b57\u3092\u8ffd\u52a0\u3057\u3066\u307f\u307e\u3057\u3087\u3046\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u30ab\u30b9\u30bf\u30e0\u7d75\u6587\u5b57\u3092\u8ffd\u52a0\u3059\u308b\u306b\u306fsnac \u306e\u30c7\u30fc\u30bf\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3042\u308b <code>emojis.json<\/code> \u3092\u7de8\u96c6\u3059\u308b\u3053\u3068\u3067\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u304d\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>emojis.json \u306e\u65e2\u5b9a\u5024\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\uff0e<br \/>\ntoot \u672c\u6587\u4e2d\u306b\u8a18\u8ff0\u3059\u308bkey \u3068\uff0c\u5b9f\u969b\u306b\u8a55\u3055\u308c\u308b\u5024\u306e\u7d44\u307f\u5408\u308f\u305b\u3067\u3059\uff0ekey \u306f\u4fdd\u7ba1\u6027\u3092\u4fdd\u3064\u305f\u3081\u306b <code>:<\/code> \u3067\u56f2\u3080\u3053\u3068\u304c\u63a8\u5968\u3055\u308c\u3066\u3044\u307e\u3059\uff0e\u5024\u306f\u4ee5\u4e0b\u3067\u306f\u6570\u5024\u6587\u5b57\u53c2\u7167\u53ca\u3073\u6587\u5b57\u5217\u3067\u3059\u304c\uff0cURL \u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3082\u51fa\u6765\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>{\n    \":-)\": \"&amp;#128578;\",\n    \":-D\": \"&amp;#128512;\",\n    \"X-D\": \"&amp;#128518;\",\n    \";-)\": \"&amp;#128521;\",\n    \"B-)\": \"&amp;#128526;\",\n    \"&gt;:-(\": \"&amp;#128545;\",\n    \":-(\": \"&amp;#128542;\",\n    \":-*\": \"&amp;#128536;\",\n    \":-\/\": \"&amp;#128533;\",\n    \"8-o\": \"&amp;#128562;\",\n    \"%-)\": \"&amp;#129322;\",\n    \":_(\": \"&amp;#128546;\",\n    \":-|\": \"&amp;#128528;\",\n    \"&lt;3\": \"&amp;#10084;&amp;#65039;\",\n    \":facepalm:\": \"&amp;#129318;\",\n    \":shrug:\": \"&amp;#129335;\",\n    \":shrug2:\": \"&amp;#175;\\\\_(&amp;#12484;)_\/&amp;#175;\",\n    \":eyeroll:\": \"&amp;#128580;\",\n    \":beer:\": \"&amp;#127866;\",\n    \":beers:\": \"&amp;#127867;\",\n    \":munch:\": \"&amp;#128561;\",\n    \":thumb:\": \"&amp;#128077;\"\n}<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u3053\u3053\u306bsnac \u30c7\u30d5\u30a9\u30eb\u30c8\u30a2\u30a4\u30b3\u30f3\u3092\u8ffd\u52a0\u3057\u3066\u307f\u307e\u3059\uff0esnac \u306e\u30d9\u30fc\u30b9url \u306e\u4e0b\u306e \/susie.png (kagolug \u3067\u306f <a href=\"https:\/\/snac.kagolug.org\/susie.png\" class=\"bare\">https:\/\/snac.kagolug.org\/susie.png<\/a> )\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068snac \u30c7\u30d5\u30a9\u30eb\u30c8\u30a2\u30a4\u30b3\u30f3\u306esusie \u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e\u3053\u308c\u3092\u5229\u7528\u3057\u3066\u307f\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>emojis.json \u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u66f8\u304d\u63db\u3048\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>     \":beer:\": \"&amp;#127866;\",\n     \":beers:\": \"&amp;#127867;\",\n     \":munch:\": \"&amp;#128561;\",\n-    \":thumb:\": \"&amp;#128077;\"\n+    \":thumb:\": \"&amp;#128077;\",\n+    \":susie:\": \"https:\/\/snac.kagolug.org\/susie.png\"\n }<\/pre>\n<\/div>\n<\/div>\n<div class=\"admonitionblock tip\">\n<table  class=\" table table-hover\" >\n<tr>\n<td class=\"icon\">\n<div class=\"title\">Tip<\/div>\n<\/td>\n<td class=\"content\">\n<div class=\"paragraph\">\n<p>emojis.json \u306f\u4fdd\u5b58\u3057\u305f\u6642\u70b9\u3067\u5185\u5bb9\u304c\u53cd\u6620\u3055\u308c\u307e\u3059\uff0e\u4e2d\u9014\u534a\u7aef\u306a\u72b6\u614b\u3067\u4fdd\u5b58\u3059\u308b\u3068\u5168\u3066\u306e\u30ab\u30b9\u30bf\u30e0\u7d75\u6587\u5b57\u304c\u5229\u7528\u3067\u304d\u306a\u304f\u306a\u3063\u305f\u308a\u3059\u308b\u306e\u3067\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\uff0e<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<div class=\"paragraph\">\n<p>\u3053\u308c\u3067 <code>:susie:<\/code> \u3068\u5165\u529b\u3059\u308b\u3053\u3068\u3067 <span class=\"image\"><img decoding=\"async\" src=\"https:\/\/matoken.org\/blog\/wp-content\/uploads\/2025\/12\/snac-susie.png\" alt=\"snac susie\"><\/span> \u304c\u8868\u793a\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u66f4\u306b\u30da\u30f3\u30ae\u30f3\u306eTux \u3068\u30bf\u30b9\u30de\u30cb\u30a2\u30c7\u30d3\u30eb\u306eTuz \u3092\u8ffd\u52a0\u3057\u3066\u307f\u307e\u3059\uff0e<br \/>\n\u30a2\u30a4\u30b3\u30f3\u306e\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3092\u7528\u610f\u3057\uff0c\u9759\u7684\u74b0\u5883\u306b\u8a2d\u7f6e\uff0c\u305d\u306eurl \u3092emojis.json \u30d5\u30a1\u30a4\u30eb\u306b\u8a18\u8ff0\u3057\u307e\u3059\uff0e<br \/>\n\u4eca\u56de\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>     \":beer:\": \"&amp;#127866;\",\n     \":beers:\": \"&amp;#127867;\",\n     \":munch:\": \"&amp;#128561;\",\n-    \":thumb:\": \"&amp;#128077;\"\n+    \":thumb:\": \"&amp;#128077;\",\n+    \":susie:\": \"https:\/\/snac.kagolug.org\/susie.png\",\n+    \":tux:\": \"https:\/\/www.kagolug.org\/snac-emoji\/Tux.png\",\n+    \":tuz:\": \"https:\/\/www.kagolug.org\/snac-emoji\/Tuz.png\"\n }<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u3053\u308c\u3067 <code>:susie:<\/code>, <code>:tux:<\/code>, <code>:tuz:<\/code> \u306e3\u3064\u306e\u7d75\u6587\u5b57\u304c\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e<br \/>\ntoot \u3057\u3066\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e<br \/>\n\u3082\u3057\u304f\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b5\u30a4\u30c8\u3067Mastodon \u30ab\u30b9\u30bf\u30e0\u7d75\u6587\u5b57API\u7d4c\u7531\u3067\u7d75\u6587\u5b57\u4e00\u89a7\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u3082\u51fa\u6765\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/emojos.in\/\">Mastodon instance custom emoji listz<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/matoken.org\/blog\/wp-content\/uploads\/2025\/12\/snac_emojos.in_.webp\" alt=\"snac emojos.in \"><\/span>]<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>snac \u306e\u30ab\u30b9\u30bf\u30e0\u7d75\u6587\u5b57\u306b\u3064\u3044\u3066\u306e\u8a73\u7d30\u306fsnac(8) \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\uff0e<\/p>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"literalblock\">\n<div class=\"content\">\n<pre>Custom Emojis\n    From version 2.51, support for customized Emojis in posts is available (previously, they were hardcoded). Emojis are read from the emojis.json file in the instance base directory, as a JSON object of key \/ value pairs (if this file\n    does not exist, it will be created with the predefined set). Each key in the object contains the text to be found (e.g., the :-) for a smiling face), and its associated value, the text string that will replace it (in  this  example\n    case, the HTML entity for the Unicode codepoint for the smiley or the Emoji itself as text).<\/pre>\n<\/div>\n<\/div>\n<div class=\"literalblock\">\n<div class=\"content\">\n<pre>Emoji values can also be URLs to image files; in this case, they will not be substituted in the post content, but added to the 'tag' array as an ActivityPub standard 'Emoji' object (it's recommendable that the Emoji key be enclosed\nin colons for maximum compatibility with other ActivityPub implementations, like e.g. :happydoggo:). These images can be served from an external source or from the static directory of the instance admin.<\/pre>\n<\/div>\n<\/div>\n<div class=\"literalblock\">\n<div class=\"content\">\n<pre>If you want to disable any Emoji substitution, change the file to contain just an empty JSON object ({}).<\/pre>\n<\/div>\n<\/div>\n<\/blockquote>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u3055\u304f\u3089\u306e\u30ca\u30ec\u30c3\u30b8\u306b\u8efd\u91cfActivityPub Server \u306esnac \u306b\u3064\u3044\u3066\u306e\u8a18\u4e8b\u3092\u5bc4\u7a3f\u3057\u307e\u3057\u305f\uff0e \u3055\u304f\u3089\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306e\u3055\u304f\u3089\u306e\u30ca\u30ec\u30c3\u30b8\u306bsnac\u306e\u8a18\u4e8b\u3092\u5bc4\u7a3f \u2013 matoken&#8217;s blog \u3053\u3053\u306b\u66f8 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":""},"categories":[7,6,1231],"tags":[493,115,1243],"class_list":["post-4889","post","type-post","status-publish","format-standard","hentry","category-debian-linux","category-linux","category-trixie","tag-activitypub","tag-emoji","tag-snac"],"_links":{"self":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4889","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/comments?post=4889"}],"version-history":[{"count":4,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4889\/revisions"}],"predecessor-version":[{"id":4893,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4889\/revisions\/4893"}],"wp:attachment":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/media?parent=4889"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/categories?post=4889"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/tags?post=4889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}