Migdal は創作言語・世界に関する投稿が集うコミュニティサイトとして、語学・言語学・世界構築に関する投稿をサポートする機能を多数備えています。この記事では、それらをまとめて紹介します。
使えそう!投稿したい!と思った方はぜひサイトにご登録ください。すでに記事を書かれている方も、読むとさらに役立つかもしれません。(基本的な記事の書き方は、編集ガイドを参照してください)
機能の追加・改善のご要望も随時受け付けています。記事下部の案内をごらんください。
紹介する機能
記事の操作
補助機能
- 投稿の一部に別の言語を差し込む(試験中)
- 外字などの画像を文章に入れる(試験中)
- 言語学で使うグロスを入れる(試験中)
- 吹き出し形式の会話文を入れる(試験中)
- 文章の一部を黒塗りで伏せ字(スポイラー)
- 複数段組レイアウト(試験中)
- テキストの方向を制御する(試験中)
- ルビ(ふりがな)や圏点を振る(試験中)
- その他、SNS 投稿や動画などを埋め込む
記事の操作
設定パネル
記事作成・編集画面の下にある歯車のアイコンを押すと、下のような画面が現れます。ここから記事に関する少し便利な設定が可能です。
本文の言語を設定し、言語独自のフォントを適用する
まず、本文の言語は上の図の設定パネルの「言語」の欄に言語コード形式で入力します(コードを知らなくても、対応している言語はすべてその下のプルダウンから選べます)。本文の言語には、幅広い種類の自然言語と登録済みの人工言語が指定できます。
新しくあなたの創作言語を追加するには、Conlang Portal から申請して CLA コードを取得すると、このサイトでも認識され、一覧から選べるようになります。
記事に特定の言語を指定すると、その言語に適した表示に変えることができます。例えば、その言語独特の文字で表示したり、組版の制御や装飾を加えたりできます。ご希望の方は、言語を追加したうえで、要望スレッドからご連絡ください(フォントなどが必要になることがあります)。
なお、よく同じ言語で記事を執筆する方は、ログイン後カスタマイズ設定から「執筆言語」を選ぶことで、次回から自動でその言語が適用されるようになります。
自分のブログなどにある記事へ誘導する
個人ブログやサイトに載せた記事をここに転載して、元記事への入口にするためのしくみがあります。
上の図の設定パネルにある「正規 URL」に転載元のアドレスを入力すると、その記事は検索エンジンから元記事のコピーとして扱われます。こうして、元記事側の検索順位を上げながら、このサイトで評価やコメントを得ることができます。
元記事が存在する場合、題名部分に以下のような情報が表示されます。リンク部分から元記事へ移動できます。
(※元記事の作者に許可を得ずに転載することはご遠慮ください)
別の記事の翻訳を作成する
サイトにログインした状態で、公開された記事の題名部分を見ると、「翻訳」というボタンが表示されると思います(自分の記事でも出ます)。これを押すと、その記事の内容をコピーした状態で編集画面に入ります。このようにして、元記事を内容を見ながらお好きな言語に翻訳できます。翻訳が完了したら、翻訳先の言語を忘れず指定してください。
翻訳が公開されると、翻訳元を含め各言語版の記事の頭に次のような表示が現れ、互いに行き来できるようになります。翻訳のお題とその回答などに便利です。
補助機能
このサイトでは Liquid タグ({% tag ... %}
)の形式で投稿の中にさまざまな機能を埋め込むことができます。特に、以下に紹介するようなこの分野で使われやすいものを独自実装しています。
こういうタグも追加したい、などのご要望は要望スレッドにお寄せください。
投稿の一部に別の言語を差し込む
この機能は試験運用中です。要望に応じて仕様が大きく変更される場合があります。
→詳しくはこちら
下のようにして、記事の本文と違う言語のテキストを差し込むことができます。
{% ln 言語コード 方向 %} 内容 {% endln %}
{% lang 言語コード 方向 %} 内容 {% endlang %}
ln
で始まる方は文の途中に挟んで使うことができます。lang
の方は段落などまとまった範囲を囲んで使うためのものです。
言語コード
の部分は言語の設定と同じようにして言語を指定してください。内容
にはその言語で書きたい内容を入れます。方向
は指定しなくてもいいですが、ltr
または rtl
と入れることで、双方向テキストタグと同じ機能を果たします。
このタグで囲まれた部分には、その言語が指定された記事と同様のフォントや書式が適用されます。
記述例
この言語の名前は {% ln x-v3-zph0xl %}qilxaléh{% endln %} です。下は例文です。
{% lang x-v3-zph0xl %}
lìtat a laxol e lôk avôl ile latvác 250000 etifef, dà salat e asatix a lòt etut azifev avôl ile latvác 4000.
{% endlang %}
表示例
この言語の名前は qilxaléh です。下は例文です。
lìtat a laxol e lôk avôl ile latvác 250000 etifef, dà salat e asatix a lòt etut azifev avôl ile latvác 4000.
外字などの画像を文章に入れる
この機能は試験運用中です。要望に応じて仕様が大きく変更される場合があります。
→詳しくはこちら
本文に文字と同じサイズの画像を入れることができます。ブラウザで表示されにくい字、絵文字、アイコンなどを配置できます。
{% glyph 画像 テキスト 位置 %}
画像
は画像への URL です。テキスト
はその画像にカーソルを当てた時に出る名前です。読む人のためになるべく書いておきましょう。位置
はふつう入れなくてもいいですが、縦位置を微調整するために使います(使用できる値の詳細)。
記述例
「新しい字を発明しました」
「……どう読むのかね?」
「{% glyph https://migdal.jp/uploads/articles/m3w5qsc0p0gmzfcpfvrw.png 新しい字 %}」
表示例
言語学で使うグロスを入れる
この機能は試験運用中です。要望に応じて仕様が大きく変更される場合があります。
→詳しくはこちら
言語学ではグロスと呼ばれる、例文を分解して説明する特殊な書式がよく使われますが、これを簡単に入力することができます。
{% gloss orig free %}
……行……
{% endgloss %}
タグの中に必要なだけ行を入れます。orig
を指定すると、囲まれた中の最初の行が分解前の原文として扱われます。free
を指定すると、最終行が全体の訳として扱われます。
記述例
{% gloss free %}
nanggayan guny-bi-yarluga?
誰 2DU.A.3SG.P-FUT-突く
「お前たち2人は誰を槍で突きたいのか」
{% endgloss %}
表示例
- nanggayan guny-bi-yarluga?
- 誰 2DU.A.3SG.P-FUT-突く
- 「お前たち2人は誰を槍で突きたいのか」
吹き出し形式の会話文を入れる
この機能は試験運用中です。要望に応じて仕様が大きく変更される場合があります。
→詳しくはこちら
親しみやすい解説記事などに使える、キャラ絵と吹き出しによる会話文を作ることができます。
{% dialogue 側:背景色:枠色:文字色 画像 話者名 %} 内容 {% enddialogue %}
側
はキャラ絵を左右どちらに置くかで、left
か right
で指定します。背景色
、枠色
、文字色
は指定しなくても OK ですが、それぞれコロンで区切って CSS に使える色形式で入力します。背景色
と文字色
は指定がない場合、ユーザーの配色によって変わるので、なるべく両方同時に指定しましょう。画像
はキャラの絵の URL、話者名
は絵に付属するキャラ名です。
記述例
{% dialogue left::crimson https://migdal.jp/uploads/articles/gkzfhypvmgsjfkv3al1v.png れぃむ %} ゆっくりしていってね!!! {% enddialogue %}
表示例
ゆっくりしていってね!!!
文章の一部を黒塗りで伏せ字
Discord の ||...||
機能と同等の、文章の一部を黒で隠す効果を挿入できます。カーソルを当てる、もしくはタッチで下の文章が現れます。
記述例
{% hidden %} 見せられないよ! {% endhidden %}
表示例
見せられないよ!
複数段組レイアウト
この機能は試験運用中です。要望に応じて仕様が大きく変更される場合があります。
短い内容の連続する時などに、文章の一部を横に複数段配置した形で表示する機能です。
{% columns 段数 %}
...
{% endcolumns %}
段数
は数字で入れてください。省略すると 2
になります。実用上は3段組くらいが限界だと思います…。
(※この機能は左右の段で行を揃えることはしません。ただ文章を段数で均等に割って配置するだけなので、閲覧環境によっても変動することがあります。行を揃える目的には表を作成してください)
記述例
{% columns 2 %}
あかしけ
やなげ
ひいろのとりよ
くさはみ
ねはみ
けをのばせ
けてる
{% endcolumns %}
表示例
あかしけ
やなげ
ひいろのとりよ
くさはみ
ねはみ
けをのばせ
けてる
テキストの方向を制御する
この機能は試験運用中です。要望に応じて仕様が大きく変更される場合があります。
アラビア文字など、右から書く文字を混ぜる際に、どこからどこまで右/左から書くかを厳密に制御することができます(多くの場合は要りませんが、複雑な文章では有効です)。
{% rl %} 右書き内容 {% endrl %} / {% lr %} 左書き内容 {% endlr %}
{% rtl %} 右書き内容 {% endrtl %} / {% ltr %} 左書き内容 {% endltr %}
rl
と lr
は行内の一部の語句の方向を変える時に使います。rtl
と ltr
は段落などまとまった範囲全体を左または右書きにするために使います。
記述例
「{% rl %}スジャータ{% endrl %}」のトラック
{% rtl %}
例文: تفو بر تو ای چرخ گردون تفو!
{% endrtl %}
表示例
「 スジャータ 」のトラック
例文: تفو بر تو ای چرخ گردون تفو!
ルビ(ふりがな)や圏点を振る
この機能は試験運用中です。要望に応じて仕様が大きく変更される場合があります。
ルビは、HTML の <ruby>
形式で直接入力することができますが、以下の記法でも入力できます。
- 簡単なルビ:タグ名
r
に続けて、ルビの親文字、各文字につくルビ文字列を半角スペースで区切りながら入れます。ただしルビが一塊分しかない場合は親文字列全体につくものとします。
{% r 親文字 ルビ1 ルビ2 ルビ3 ... %}
- 高度なルビ:タグ名
r
に続けて、親文字を|
で区切りながら入れます。続けて、||
を挟んでルビ文字列を同じく|
で区切りながら入れます。|
で区切られたそれぞれの単位が対応します。
{% r 親|文|字|... || ル|ビ|も じ|... %}
圏点(傍点)は次のように入力します。
{% te %} 圏点を振る文字列 {% endte %}
記述例
{% r 嘘語 フュトル %}の{% r 形態論 けい たい ろん %}が{% te %}ヤバい{% endte %}
{% r 原|神|の|西風|騎|士|団 || げん|しん| |セピュロス|き|し|だん %}
表示例
嘘語の形態論がヤバい
原神の西風騎士団
その他、SNS 投稿や動画などを埋め込む
他の投稿へのリンクカードや、動画、ツイート、ウィキペディアなど、多数の埋め込みタグが利用できます。すべてのタグの一覧はこちらを参照してください。
例
{% embed https://www.youtube.com/watch?v=W3G1gSWuy7Y %}
{% embed https://twitter.com/nakamurakihiro/status/1230798247989366784 %}
機能に関するご要望
何かご要望がありましたらこちらへお寄せください。
また、使い方がわからないなどのご質問はこちらへ。
使用した例文・素材
- 『SCP 財団とは』 — Avendia
- 吉田戦車『伝染るんです。』第1巻
- シェルニラ式ゆっくり霊夢
- SCP-444-JP
- 『シャー・ナーメ』
Latest comments (11)
ルビを上下に振ったりできるとうれしいかもです
CLAコードv3に登録したいのですがリンクが切れててどこで申請すればいいのかわかりません。
CLAコードV3に登録したいのですが、リンクが切れています。
conlang-portal.herokuapp.com/
{% embed https://twitter.com/nanashia_y/status/1660053818263101440 %}
と、書くと「URL provided may have a typo or error; please check and try again」というエラーが出て保存できないですね……URLは間違ってないはずなんですけど……(これ含むコメントもエラーが出て、投稿できてないと思って連投してしまった(死))
すみません、これは本家に入ったバグのようです。当分は、リンク先のように旧式の
{% tweet %}
を使うのがいいようです。Tweet embed via embed syntax not working. #19431
Describe the bug
When I use this syntax, I get a bug:
{% embed https://twitter.com/BradstonDev/status/1654120422768779264 %}
However, it is not validation, it seems to be the embed parsing.
{% tweet 1654120422768779264 %}
works.To Reproduce
Expected behavior
Tweet should render
Screenshots
Additional context
Causing additional confusion here:
forem.dev/ternox/twitter-authoriza...
調査ありがとうございます! 助かります!!
ご報告ありがとうございます。現在Twitter連携自体が凍結されているようです。すみませんが原因解明までしばらくお待ちください。
を表示させようとすると
単語
.text-styles .table-wrapper-paragraph-multicolumn { width: 100%; margin: 0 0 var(--content-rhythm) 0; } .migdal-mc-table, .migdal-mc-tbody, .migdal-mc-tfoot, .migdal-mc-thead, .migdal-mc-tr { display: block; } .migdal-mc-td, .migdal-mc-th { display: table-cell; /* copied from table styles */ padding: var(--su-2); border-style: solid; border-color: var(--base-20); border-width: 1px 0 0 1px; } .migdal-mc-td:last-child, .migdal-mc-th:last-child { border-right-width: 1px; } .migdal-mc-tbody > .migdal-mc-tr:last-child > .migdal-mc-td, .migdal-mc-tbody > .migdal-mc-tr:last-child > .migdal-mc-th { border-bottom-width: 1px; } .migdal-mc-th { font-weight: bold; /* copied from table styles */ background: var(--body-bg); } no-vul 無敵 存在しない-敵
sawi-ol メディア 伝える-方法
というようにCSSかなんかのソースコードが出てきてます。
追記:この Markdown を2つ書くとどちらかがなるっぽいです。
ありがとうございます。details は何回か直したのですが、本家でもバグりがちなので、ちょっと調べてみますね…
ちなみに、上の例の details の中でやりたいのは、もしかして
{% gloss %}
ではないですか?ご返信ありがとうございます。個人的には details よりも spoiler の方が挙動良かったりと思ってます。
単に造語成分を示すだけでしたがグロス使おうと思います!
details と spoiler は同じコードの別名のはずなので🤔
もし挙動が違ったら闇が深いですね…
ともかく時間があるときに調べてみます。