はてな記法

はてな記法

[5] はてな記法は、株式会社はてなWebサービス群で用いられている平文ベースの簡易マーク付け言語の総称です。

[6] 00年代初頭に流行したウィキ構文の影響を受けており、 簡単な記号列で平文から HTML を生成できる形になっています。

代替

[46] 互換性のために必要な場合を除き、使うべきではありません。 MarkdownHTML などの他のファイル形式を検討するべきです。

仕様書

[43] 利用者向けのリファレンス的な文書は公開されていますが、 技術者向けの詳細な仕様書は公開されていません。

機能

[55] はてな記法

[60] うごメモはてなはてなハイクはてなプロフィール などは [emoji:001] のように絵文字を指定できました。 うごメモはてなの絵文字 この記述は他のはてな記法の構文とは違って、 保存前に絵文字に変換されていたようです。

方言

[7] サービスや文脈ごとに利用できる構文 (「記法」) に違いがあったり、 HTMLタグの利用可否や自動キーワードリンクが適用されたりして、 数多くのバリエーションが存在しています。

[28] 以前ははてなダイアリー (サービス終了済み) のものが最も正式(?)なもの (フルスペックのもの) として扱われていましたが、現在でははてなブログが主要な実装となっているようです。

[18] はてなグループ (サービス終了予定) のはてな記法 >>17はてなダイアリーのものに近いようですが、 一部独自の記法があります。

[26] はてなブックマーク簡易はてな記法を採用しています >>27はてなダイアリー版の部分集合のように説明されていますが、 独自の機能も含まれるようです。

[50] ただしいつしか (告知なく) 正常に動作しなくなっているようです >>47

[29] はてなハイク (サービス終了済み) は Hatena Notation Lite を採用しています。 機能は限定的ですが、はてなダイアリーにない独自の機能も含まれています。

[30] その他いくつかのサービスで違ったバリエーションが採用されています。

[9] はてなブログのMarkdownはてな記法の一部を取り込んだものとなっています。


[24] 株式会社はてなオープンソースソフトウェアとしてはてな記法構文解析器をいくつか公開していますが、 実際のサービスの機能の一部分しか実装されていない不完全なもののようです。

[25] 株式会社はてな以外による実装もいくつか存在し、それを採用した製品等も存在しているようですが、 完全な互換性があるわけではなさそうです。

最近の動向

[21] はてな記法を採用した株式会社はてなのサービスの中では新しい部類である はてなブログは、 WYSIWYGマークダウンも選択可能であり、 はてな記法の露出は減っています。

[22] しかし一部のはてな記法マークダウンに組み込まれたり、 新機能が追加されたり >>11 と、見捨てられているわけではなさそうです。

[56] はてなブログでは、 新機能のための新しい構文がいくつか (案内されずに) 追加されているようですが、 一方ではてなダイアリー以来の構文の多数が廃止されているようで、 全体的には機能縮小方向にあるとみられます。 はてなダイアリーはサービスが終了し はてなブログにデータが強制自動移行されましたが、 互換性を維持する努力はなされていないと理解せざるを得ません。

[57] そんな状況ですので、 過去にはてな記法を活用した記事を書いて保持している人は、 早いうちに HTML など安全な形式に変換した上で他サービスにでも移行するのがいいかもしれません。

[72] はてな記法をHTMLから復元 - jiomの日記, https://jiom.hatenablog.com/entry/2020/02/21/000000

はてなブログに移行してから、はてなダイアリと異なり、はてな記法形式でのエクスポートができなくなりました。バックアップは HTML 形式になります。その結果、バックアップファイルをインポートすると、はてな記法がすべて HTML に変へられてしまひます。同様の事象は、はてな記法の記事を削除してゴミ箱に入れたものを元に戻すときにも起きます。

[73] はてなももうはてな記法をまともにサポートする気はなさそうですね。

[52] 【予告】はてなブログで利用できるはてな記法のうち、一部の記法について仕様変更もしくは廃止を行います - はてなブログ開発ブログ () https://staff.hatenablog.com/entry/2019/09/26/115513

[53] サービス終了は企業の経営判断でしょうから仕方がないのでしょうが、 はてなダイアリー終了で強制移行してから、 このように仕様変更して元のはてな記法の解釈を変えてしまうのは、 ユーザーコンテンツを破壊しているということですよ。

[54] ブコメで指摘がある通り、 過去の記事の意味が通らなくなるケースが出てくるということです。 この先はてなブログで新機能が実装されても、 いつ廃止されるかわからないのでは安心して使えないのではないでしょうか。

[58] 人力検索はてな・はてなプロフィールの記法変換の仕様を一部変更いたしました - はてなの告知, https://hatena-announce.hatenastaff.com/entry/2020/11/20/155523

人力検索はてなにおけるはてな記法の変換の仕様を一部変更いたしました。この変更によりisbn/asin記法など一部の記法、ならびに一部オプションがご利用いただけなくなります。ご不便をおかけいたしますが、ご了承ください。

[59] せめてその「一部」がどれとどれか、全部書こうよ...

[74] >>54 でも GFM なんかもある日突然非互換変更してるし、移行しようにも他社も全部信用ならないんだよなあ。

[75] HTML 以外はどれも信用してはいけないってコト?

MIME 型

[31] はてなブログAtomPub Web API は、 はてなブログはてな記法MIME型text/x-hatena-syntax としています >>32

XML 埋め込み

[49] XML文書への埋め込みについては、はてなXML名前空間を参照。

実装

[62] 株式会社はてなで作られたものや関係者が作ったものと、 外部 (一般の利用者) で独自に作ったものがあります。


[76] Text::Hatena - Perl extension for formatting text with Hatena Style. - metacpan.org, https://metacpan.org/pod/Text::Hatena

[77] >>76 はかなり古いはてなダイアリーのものに近い(が同じではない)公式実装。

[3] Text::Xatena を CPAN に上げました - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech ( 版) http://subtech.g.hatena.ne.jp/cho45/20100323/1269277493

[38] Text::Xatena - はてな記法のような記法フォーマットパーサー - JPerl Advent Calendar 2010 Meta_adcal Track () http://perl-users.jp/articles/advent-calendar/2010/meta_adcal/5

[66] これは株式会社はてなの社員が私的に開発したものですが、 はてなブログ の前史のようなものです。

[71] The new Text::Hatena, https://www.slideshare.net/onishi/the-new-texthatena

[63] Text::Hatena という名前のPerlモジュールは何世代かあって、 そのうち >>12はてなブログ の開発初期に OSS として公開されたものです。 しかし残念なことにその後の変更は反映されていませんので、 現在の はてなブログ の実装とは違うと思われます。

[64] >>23>>12 から fork して、各サービスのヘルプや実際の挙動に合わせて機能追加・修正したものです。

[69] wakaba/formatter, https://github.com/wakaba/formatter

[70] >>69>>23Webサーバー化したもの。 Dockerfile もあり。


[65] はてなハイク 等の Hatena Notation Lite の実装として実際に使われていたPerlモジュールオープンソースソフトウェアとして公開されています >>8

メモ

[1] Competitions: Flipnote Studio - Amazing Giveaway - Nintendo Life: DSiWare (Nintendo Life 著, 版) http://dsiware.nintendolife.com/news/2009/08/competitions_flipnote_studio_amazing_giveaway

[2] Wikihub :: wikihub-wiki :: 記法/はてな記法.txt ( 版) http://wikihub.org/wiki/wikihub-wiki/%E8%A8%98%E6%B3%95/%E3%81%AF%E3%81%A6%E3%81%AA%E8%A8%98%E6%B3%95

[4] Bloggerではてな記法を使うユーザースクリプト - by edvakf in hatena ( 版) http://d.hatena.ne.jp/edvakf/20100328/1269734933

[10] nobuoka/Text-Hatena.java () https://github.com/nobuoka/Text-Hatena.java

[11] はてなフォトライフの画像を貼り付けるときに、フォトライフ記法でaltとtitleを指定できるようにしました(はてな記法モード、Markdownモード) - はてなブログ開発ブログ () http://staff.hatenablog.com/entry/2017/02/24/152000

fotolife記法のtitleオプションおよびaltオプションは、はてなブログ独自の拡張です。はてなダイアリー、はてなグループなどでは利用できません。

[13] aereal/go-text-hatena () https://github.com/aereal/go-text-hatena

[15] 編集モード - はてなブログ ヘルプ () http://help.hatenablog.com/entry/editing-mode

[19] はてな記法 - はてな匿名ダイアリー ( ()) http://anond.hatelabo.jp/keyword/%E3%81%AF%E3%81%A6%E3%81%AA%E8%A8%98%E6%B3%95

[33] ヘルプ - はてな匿名ダイアリー () https://anond.hatelabo.jp/help

すべてのはてな記法がサポートされているわけではありません

特有のはてな記法として anond:記法 があります(後述)

[34] WordPressのはてな記法プラグイン「WP Hatena Notation」 - Rewish () https://rewish.jp/blog/releases/wp_hatena_notation

[35] MarsEditに、はてな記法プレビューを設定 | Act as Professional () https://hiroki.jp/2012/04/09/3474/

[36] hslide.php - はてな記法プレゼンツール () https://anatoo.github.io/hslide.php/

はてな記法によってプレゼンテーションを記述します

生成したプレゼンテーションはブラウザから利用できます

[37] Railsではてな記法っぽい独自の記法を実装する - アトラシエの開発ブログ () http://blog.attracie.com/entry/2016/12/16/192012

[39] text-hatena.js 公開 () http://tech.nitoyon.com/javascript/application/texthatena/download.html

[40] はてな記法ワープロ () http://tech.nitoyon.com/javascript/application/texthatena/wordpro/

[41] PHPで書いたはてな記法パーサをCodeReposにあげました - id:anatooのブログ () http://blog.anatoo.jp/entry/20080630/1214824245

[42] PandocのカスタムWriterでMarkdownからはてな記法に変換 - Qiita () http://qiita.com/takada-at/items/4d94a8811b4aaa5d5fd3

[44] 記事中の見出しから目次を自動的に作成する「目次記法」を追加しました - はてなブログ開発ブログ () http://staff.hatenablog.com/entry/2015/09/09/152158

[45] 更新情報/2008年/12月/31日/その他: 改善: 新編集モード Text::Hatenaの追加について - @WIKIご利用ガイド - アットウィキ () https://www1.atwiki.jp/guide/pages/1666.html

[51] aereal/gohn: Hatena Notation (はてな記法) Parser written in Go () https://github.com/aereal/gohn

[61] はてな記法モードご利用時の「Instagram貼り付け」仕様を変更しました(ほか1件) - はてなブログ開発ブログ () https://staff.hatenablog.com/entry/2020/12/16/182243?utm_source=subscripiton_mail&utm_medium=email&utm_campaign=subscripiton

はてな記法 [https://www.instagram.com/p/BQhecROl7Wz/:embed:hidecaption]