ドキュメントをMarkdownで書くように
This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
h1 About Misskey
|
||||
|
||||
p Misskey is a mini blog SNS.
|
@@ -1,3 +0,0 @@
|
||||
h1 Misskeyについて
|
||||
|
||||
p MisskeyはミニブログSNSです。
|
@@ -1,103 +0,0 @@
|
||||
h1 Misskey API
|
||||
|
||||
p MisskeyはWeb APIを公開しており、様々な操作をプログラム上から行うことができます。
|
||||
p APIを自分のアカウントから利用する場合(自分のアカウントのみ操作したい場合)と、アプリケーションから利用する場合(不特定のアカウントを操作したい場合)とで利用手順が異なりますので、それぞれのケースについて説明します。
|
||||
|
||||
section
|
||||
h2 自分の所有するアカウントからAPIにアクセスする場合
|
||||
p 「設定 > API」で、APIにアクセスするのに必要なAPIキーを取得してください。
|
||||
p APIにアクセスする際には、リクエストにAPIキーを「i」というパラメータ名で含めます。
|
||||
div.ui.info.warn: p %fa:exclamation-triangle%アカウントを不正利用される可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。
|
||||
p APIの詳しい使用法は「Misskey APIの利用」セクションをご覧ください。
|
||||
|
||||
section
|
||||
h2 アプリケーションからAPIにアクセスする場合
|
||||
p
|
||||
| 直接ユーザーのAPIキーをアプリケーションが扱うのは危険なので、
|
||||
| アプリケーションからAPIを利用する際には、アプリケーションとアプリケーションを利用するユーザーが結び付けられた専用のトークン(アクセストークン)をMisskeyに発行してもらい、
|
||||
| そのトークンをリクエストのパラメータに含める必要があります。
|
||||
div.ui.info: p %fa:info-circle%アクセストークンは、ユーザーが自分のアカウントにあなたのアプリケーションがアクセスすることを許可した場合のみ発行されます
|
||||
|
||||
p それでは、アクセストークンを取得するまでの流れを説明します。
|
||||
|
||||
section
|
||||
h3 1.アプリケーションを登録する
|
||||
p まず、あなたのアプリケーションやWebサービス(以後、あなたのアプリと呼びます)をMisskeyに登録します。
|
||||
p
|
||||
a(href=common.config.dev_url, target="_blank") デベロッパーセンター
|
||||
| にアクセスし、「アプリ > アプリ作成」に進みます。
|
||||
| フォームに必要事項を記入し、アプリを作成してください。フォームの記入欄の説明は以下の通りです:
|
||||
|
||||
table
|
||||
thead
|
||||
tr
|
||||
th 名前
|
||||
th 説明
|
||||
tbody
|
||||
tr
|
||||
td アプリケーション名
|
||||
td あなたのアプリの名称。
|
||||
tr
|
||||
td アプリの概要
|
||||
td あなたのアプリの簡単な説明や紹介。
|
||||
tr
|
||||
td コールバックURL
|
||||
td ユーザーが後述する認証フォームで認証を終えた際にリダイレクトするURLを設定できます。あなたのアプリがWebサービスである場合に有用です。
|
||||
tr
|
||||
td 権限
|
||||
td あなたのアプリが要求する権限。ここで要求した機能だけがAPIからアクセスできます。
|
||||
|
||||
p 登録が済むとあなたのアプリのシークレットキーが入手できます。このシークレットキーは後で使用します。
|
||||
div.ui.info.warn: p %fa:exclamation-triangle%アプリに成りすまされる可能性があるため、極力このシークレットキーは公開しないようにしてください。
|
||||
|
||||
section
|
||||
h3 2.ユーザーに認証させる
|
||||
p あなたのアプリを使ってもらうには、ユーザーにアカウントへのアクセスの許可をもらう必要があります。
|
||||
p
|
||||
| 認証セッションを開始するには、#{common.config.api_url}/auth/session/generate へパラメータに appSecret としてシークレットキーを含めたリクエストを送信します。
|
||||
| リクエスト形式はJSONで、メソッドはPOSTです。
|
||||
| レスポンスとして認証セッションのトークンや認証フォームのURLが取得できるので、認証フォームのURLをブラウザで表示し、ユーザーにフォームを提示してください。
|
||||
|
||||
p
|
||||
| あなたのアプリがコールバックURLを設定している場合、
|
||||
| ユーザーがあなたのアプリの連携を許可すると設定しているコールバックURLに token という名前でセッションのトークンが含まれたクエリを付けてリダイレクトします。
|
||||
|
||||
p
|
||||
| あなたのアプリがコールバックURLを設定していない場合、ユーザーがあなたのアプリの連携を許可したことを(何らかの方法で(たとえばボタンを押させるなど))確認出来るようにしてください。
|
||||
|
||||
section
|
||||
h3 3.ユーザーのアクセストークンを取得する
|
||||
p ユーザーが連携を許可したら、#{common.config.api_url}/auth/session/userkey へ次のパラメータを含むリクエストを送信します:
|
||||
table
|
||||
thead
|
||||
tr
|
||||
th 名前
|
||||
th 型
|
||||
th 説明
|
||||
tbody
|
||||
tr
|
||||
td appSecret
|
||||
td string
|
||||
td あなたのアプリのシークレットキー
|
||||
tr
|
||||
td token
|
||||
td string
|
||||
td セッションのトークン
|
||||
p 上手くいけば、認証したユーザーのアクセストークンがレスポンスとして取得できます。おめでとうございます!
|
||||
|
||||
p アクセストークンが取得できたら、「ユーザーのアクセストークン+あなたのアプリのシークレットキーをsha256したもの」を「i」というパラメータでリクエストに含めると、APIにアクセスすることができます。
|
||||
|
||||
p 「i」パラメータの生成方法を擬似コードで表すと次のようになります:
|
||||
pre: code
|
||||
| const i = sha256(accessToken + secretKey);
|
||||
|
||||
p APIの詳しい使用法は「Misskey APIの利用」セクションをご覧ください。
|
||||
|
||||
section
|
||||
h2 Misskey APIの利用
|
||||
p APIはすべてリクエストのパラメータ・レスポンスともにJSON形式です。また、すべてのエンドポイントはPOSTメソッドのみ受け付けます。
|
||||
p APIリファレンスもご確認ください。
|
||||
|
||||
section
|
||||
h3 レートリミット
|
||||
p Misskey APIにはレートリミットがあり、短時間のうちに多数のリクエストを送信すると、一定時間APIを利用することができなくなることがあります。
|
@@ -1,21 +0,0 @@
|
||||
@import "../style"
|
||||
|
||||
#url
|
||||
padding 8px 12px 8px 8px
|
||||
font-family Consolas, 'Courier New', Courier, Monaco, monospace
|
||||
color #fff
|
||||
background #222e40
|
||||
border-radius 4px
|
||||
|
||||
> .method
|
||||
display inline-block
|
||||
margin 0 8px 0 0
|
||||
padding 0 6px
|
||||
color #f4fcff
|
||||
background #17afc7
|
||||
border-radius 4px
|
||||
user-select none
|
||||
pointer-events none
|
||||
|
||||
> .host
|
||||
opacity 0.7
|
@@ -1,38 +0,0 @@
|
||||
extends ../../layout.pug
|
||||
include ../mixins
|
||||
|
||||
block meta
|
||||
link(rel="stylesheet" href="/docs/assets/api/endpoints/style.css")
|
||||
|
||||
block main
|
||||
h1= endpoint
|
||||
|
||||
p#url
|
||||
span.method POST
|
||||
span.host
|
||||
= url.host
|
||||
| /
|
||||
span.path= url.path
|
||||
|
||||
p#desc= desc[lang] || desc['ja']
|
||||
|
||||
section
|
||||
h2= i18n('docs.api.endpoints.params')
|
||||
+propTable(params)
|
||||
|
||||
if paramDefs
|
||||
each paramDef in paramDefs
|
||||
section(id= paramDef.name)
|
||||
h3= paramDef.name
|
||||
+propTable(paramDef.params)
|
||||
|
||||
if res
|
||||
section
|
||||
h2= i18n('docs.api.endpoints.res')
|
||||
+propTable(res)
|
||||
|
||||
if resDefs
|
||||
each resDef in resDefs
|
||||
section(id= resDef.name)
|
||||
h3= resDef.name
|
||||
+propTable(resDef.props)
|
@@ -1,73 +0,0 @@
|
||||
name: "DriveFile"
|
||||
|
||||
desc:
|
||||
ja: "ドライブのファイル。"
|
||||
en: "A file of Drive."
|
||||
|
||||
props:
|
||||
- name: "id"
|
||||
type: "id"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "ファイルID"
|
||||
en: "The ID of this file"
|
||||
- name: "createdAt"
|
||||
type: "date"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "アップロード日時"
|
||||
en: "The upload date of this file"
|
||||
- name: "userId"
|
||||
type: "id(User)"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "所有者ID"
|
||||
en: "The ID of the owner of this file"
|
||||
- name: "user"
|
||||
type: "entity(User)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "所有者"
|
||||
en: "The owner of this file"
|
||||
- name: "name"
|
||||
type: "string"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "ファイル名"
|
||||
en: "The name of this file"
|
||||
- name: "md5"
|
||||
type: "string"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "ファイルのMD5ハッシュ値"
|
||||
en: "The md5 hash value of this file"
|
||||
- name: "type"
|
||||
type: "string"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "ファイルの種類"
|
||||
en: "The type of this file"
|
||||
- name: "datasize"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "ファイルサイズ(bytes)"
|
||||
en: "The size of this file (bytes)"
|
||||
- name: "url"
|
||||
type: "string"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "ファイルのURL"
|
||||
en: "The URL of this file"
|
||||
- name: "folderId"
|
||||
type: "id(DriveFolder)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "フォルダID"
|
||||
en: "The ID of the folder of this file"
|
||||
- name: "folder"
|
||||
type: "entity(DriveFolder)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "フォルダ"
|
||||
en: "The folder of this file"
|
@@ -1,168 +0,0 @@
|
||||
name: "Note"
|
||||
|
||||
desc:
|
||||
ja: "投稿。"
|
||||
en: "A note."
|
||||
|
||||
props:
|
||||
- name: "id"
|
||||
type: "id"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "投稿ID"
|
||||
en: "The ID of this note"
|
||||
- name: "createdAt"
|
||||
type: "date"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "投稿日時"
|
||||
en: "The posted date of this note"
|
||||
- name: "viaMobile"
|
||||
type: "boolean"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "モバイル端末から投稿したか否か(自己申告であることに留意)"
|
||||
en: "Whether this note sent via a mobile device"
|
||||
- name: "text"
|
||||
type: "string"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "投稿の本文"
|
||||
en: "The text of this note"
|
||||
- name: "mediaIds"
|
||||
type: "id(DriveFile)[]"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "添付されているメディアのID (なければレスポンスでは空配列)"
|
||||
en: "The IDs of the attached media (empty array for response if no media is attached)"
|
||||
- name: "media"
|
||||
type: "entity(DriveFile)[]"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "添付されているメディア"
|
||||
en: "The attached media"
|
||||
- name: "userId"
|
||||
type: "id(User)"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "投稿者ID"
|
||||
en: "The ID of author of this note"
|
||||
- name: "user"
|
||||
type: "entity(User)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "投稿者"
|
||||
en: "The author of this note"
|
||||
- name: "myReaction"
|
||||
type: "string"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "この投稿に対する自分の<a href='/docs/api/reactions'>リアクション</a>"
|
||||
en: "The your <a href='/docs/api/reactions'>reaction</a> of this note"
|
||||
- name: "reactionCounts"
|
||||
type: "object"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "<a href='/docs/api/reactions'>リアクション</a>をキーとし、この投稿に対するそのリアクションの数を値としたオブジェクト"
|
||||
- name: "replyId"
|
||||
type: "id(Note)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "返信した投稿のID"
|
||||
en: "The ID of the replyed note"
|
||||
- name: "reply"
|
||||
type: "entity(Note)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "返信した投稿"
|
||||
en: "The replyed note"
|
||||
- name: "renoteId"
|
||||
type: "id(Note)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "引用した投稿のID"
|
||||
en: "The ID of the quoted note"
|
||||
- name: "renote"
|
||||
type: "entity(Note)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "引用した投稿"
|
||||
en: "The quoted note"
|
||||
- name: "poll"
|
||||
type: "object"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "投票"
|
||||
en: "The poll"
|
||||
defName: "poll"
|
||||
def:
|
||||
- name: "choices"
|
||||
type: "object[]"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "投票の選択肢"
|
||||
en: "The choices of this poll"
|
||||
defName: "choice"
|
||||
def:
|
||||
- name: "id"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "選択肢ID"
|
||||
en: "The ID of this choice"
|
||||
- name: "isVoted"
|
||||
type: "boolean"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "自分がこの選択肢に投票したかどうか"
|
||||
en: "Whether you voted to this choice"
|
||||
- name: "text"
|
||||
type: "string"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "選択肢本文"
|
||||
en: "The text of this choice"
|
||||
- name: "votes"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "この選択肢に投票された数"
|
||||
en: "The number voted for this choice"
|
||||
- name: "geo"
|
||||
type: "object"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "位置情報"
|
||||
en: "Geo location"
|
||||
defName: "geo"
|
||||
def:
|
||||
- name: "coordinates"
|
||||
type: "number[]"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "座標。最初に経度:-180〜180で表す。最後に緯度:-90〜90で表す。"
|
||||
- name: "altitude"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "高度。メートル単位で表す。"
|
||||
- name: "accuracy"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "緯度、経度の精度。メートル単位で表す。"
|
||||
- name: "altitudeAccuracy"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "高度の精度。メートル単位で表す。"
|
||||
- name: "heading"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "方角。0〜360の角度で表す。0が北、90が東、180が南、270が西。"
|
||||
- name: "speed"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "速度。メートル / 秒数で表す。"
|
@@ -1,168 +0,0 @@
|
||||
name: "Note"
|
||||
|
||||
desc:
|
||||
ja: "投稿。"
|
||||
en: "A note."
|
||||
|
||||
props:
|
||||
- name: "id"
|
||||
type: "id"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "投稿ID"
|
||||
en: "The ID of this note"
|
||||
- name: "createdAt"
|
||||
type: "date"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "投稿日時"
|
||||
en: "The posted date of this note"
|
||||
- name: "viaMobile"
|
||||
type: "boolean"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "モバイル端末から投稿したか否か(自己申告であることに留意)"
|
||||
en: "Whether this note sent via a mobile device"
|
||||
- name: "text"
|
||||
type: "string"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "投稿の本文 (ローカルの場合Markdown風のフォーマット)"
|
||||
en: "The text of this note (in Markdown like format if local)"
|
||||
- name: "mediaIds"
|
||||
type: "id(DriveFile)[]"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "添付されているメディアのID (なければレスポンスでは空配列)"
|
||||
en: "The IDs of the attached media (empty array for response if no media is attached)"
|
||||
- name: "media"
|
||||
type: "entity(DriveFile)[]"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "添付されているメディア"
|
||||
en: "The attached media"
|
||||
- name: "userId"
|
||||
type: "id(User)"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "投稿者ID"
|
||||
en: "The ID of author of this note"
|
||||
- name: "user"
|
||||
type: "entity(User)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "投稿者"
|
||||
en: "The author of this note"
|
||||
- name: "myReaction"
|
||||
type: "string"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "この投稿に対する自分の<a href='/docs/api/reactions'>リアクション</a>"
|
||||
en: "The your <a href='/docs/api/reactions'>reaction</a> of this note"
|
||||
- name: "reactionCounts"
|
||||
type: "object"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "<a href='/docs/api/reactions'>リアクション</a>をキーとし、この投稿に対するそのリアクションの数を値としたオブジェクト"
|
||||
- name: "replyId"
|
||||
type: "id(Note)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "返信した投稿のID"
|
||||
en: "The ID of the replyed note"
|
||||
- name: "reply"
|
||||
type: "entity(Note)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "返信した投稿"
|
||||
en: "The replyed note"
|
||||
- name: "renoteId"
|
||||
type: "id(Note)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "引用した投稿のID"
|
||||
en: "The ID of the quoted note"
|
||||
- name: "renote"
|
||||
type: "entity(Note)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "引用した投稿"
|
||||
en: "The quoted note"
|
||||
- name: "poll"
|
||||
type: "object"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "投票"
|
||||
en: "The poll"
|
||||
defName: "poll"
|
||||
def:
|
||||
- name: "choices"
|
||||
type: "object[]"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "投票の選択肢"
|
||||
en: "The choices of this poll"
|
||||
defName: "choice"
|
||||
def:
|
||||
- name: "id"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "選択肢ID"
|
||||
en: "The ID of this choice"
|
||||
- name: "isVoted"
|
||||
type: "boolean"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "自分がこの選択肢に投票したかどうか"
|
||||
en: "Whether you voted to this choice"
|
||||
- name: "text"
|
||||
type: "string"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "選択肢本文"
|
||||
en: "The text of this choice"
|
||||
- name: "votes"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "この選択肢に投票された数"
|
||||
en: "The number voted for this choice"
|
||||
- name: "geo"
|
||||
type: "object"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "位置情報"
|
||||
en: "Geo location"
|
||||
defName: "geo"
|
||||
def:
|
||||
- name: "coordinates"
|
||||
type: "number[]"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "座標。最初に経度:-180〜180で表す。最後に緯度:-90〜90で表す。"
|
||||
- name: "altitude"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "高度。メートル単位で表す。"
|
||||
- name: "accuracy"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "緯度、経度の精度。メートル単位で表す。"
|
||||
- name: "altitudeAccuracy"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "高度の精度。メートル単位で表す。"
|
||||
- name: "heading"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "方角。0〜360の角度で表す。0が北、90が東、180が南、270が西。"
|
||||
- name: "speed"
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "速度。メートル / 秒数で表す。"
|
@@ -1 +0,0 @@
|
||||
@import "../style"
|
@@ -1,177 +0,0 @@
|
||||
name: "User"
|
||||
|
||||
desc:
|
||||
ja: "ユーザー。"
|
||||
en: "A user."
|
||||
|
||||
props:
|
||||
id:
|
||||
type: "id"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "ユーザーID"
|
||||
en: "The ID of this user"
|
||||
|
||||
createdAt:
|
||||
type: "date"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "アカウント作成日時"
|
||||
en: "The registered date of this user"
|
||||
|
||||
username:
|
||||
type: "string"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "ユーザー名"
|
||||
en: "The username of this user"
|
||||
|
||||
description:
|
||||
type: "string"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "アカウントの説明(自己紹介)"
|
||||
en: "The description of this user"
|
||||
|
||||
avatarId:
|
||||
type: "id(DriveFile)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "アバターのID"
|
||||
en: "The ID of the avatar of this user"
|
||||
|
||||
avatarUrl:
|
||||
type: "string"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "アバターのURL"
|
||||
en: "The URL of the avatar of this user"
|
||||
|
||||
bannerId:
|
||||
type: "id(DriveFile)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "バナーのID"
|
||||
en: "The ID of the banner of this user"
|
||||
|
||||
bannerUrl:
|
||||
type: "string"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "バナーのURL"
|
||||
en: "The URL of the banner of this user"
|
||||
|
||||
followersCount:
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "フォロワーの数"
|
||||
en: "The number of the followers for this user"
|
||||
|
||||
followingCount:
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "フォローしているユーザーの数"
|
||||
en: "The number of the following users for this user"
|
||||
|
||||
isFollowing:
|
||||
type: "boolean"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "自分がこのユーザーをフォローしているか"
|
||||
|
||||
isFollowed:
|
||||
type: "boolean"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "自分がこのユーザーにフォローされているか"
|
||||
|
||||
isMuted:
|
||||
type: "boolean"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "自分がこのユーザーをミュートしているか"
|
||||
en: "Whether you muted this user"
|
||||
|
||||
notesCount:
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "投稿の数"
|
||||
en: "The number of the notes of this user"
|
||||
|
||||
pinnedNote:
|
||||
type: "entity(Note)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "ピン留めされた投稿"
|
||||
en: "The pinned note of this user"
|
||||
|
||||
pinnedNoteId:
|
||||
type: "id(Note)"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "ピン留めされた投稿のID"
|
||||
en: "The ID of the pinned note of this user"
|
||||
|
||||
driveCapacity:
|
||||
type: "number"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "ドライブの容量(bytes)"
|
||||
en: "The capacity of drive of this user (bytes)"
|
||||
|
||||
host:
|
||||
type: "string | null"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "ホスト (例: example.com:3000)"
|
||||
en: "Host (e.g. example.com:3000)"
|
||||
|
||||
twitter:
|
||||
type: "object"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "連携されているTwitterアカウント情報"
|
||||
en: "The info of the connected twitter account of this user"
|
||||
props:
|
||||
userId:
|
||||
type: "string"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "ユーザーID"
|
||||
en: "The user ID"
|
||||
screenName:
|
||||
type: "string"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "ユーザー名"
|
||||
en: "The screen name of this user"
|
||||
|
||||
isBot:
|
||||
type: "boolean"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "botか否か(自己申告であることに留意)"
|
||||
en: "Whether is bot or not"
|
||||
|
||||
profile:
|
||||
type: "object"
|
||||
optional: false
|
||||
desc:
|
||||
ja: "プロフィール"
|
||||
en: "The profile of this user"
|
||||
props:
|
||||
location:
|
||||
type: "string"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "場所"
|
||||
en: "The location of this user"
|
||||
birthday:
|
||||
type: "string"
|
||||
optional: true
|
||||
desc:
|
||||
ja: "誕生日 (YYYY-MM-DD)"
|
||||
en: "The birthday of this user (YYYY-MM-DD)"
|
@@ -1,20 +0,0 @@
|
||||
extends ../../layout.pug
|
||||
include ../mixins
|
||||
|
||||
block meta
|
||||
link(rel="stylesheet" href="/docs/assets/api/entities/style.css")
|
||||
|
||||
block main
|
||||
h1= name
|
||||
|
||||
p#desc= desc[lang] || desc['ja']
|
||||
|
||||
section
|
||||
h2= i18n('docs.api.entities.properties')
|
||||
+propTable(props)
|
||||
|
||||
if propDefs
|
||||
each propDef in propDefs
|
||||
section(id= propDef.name)
|
||||
h3= propDef.name
|
||||
+propTable(propDef.props)
|
@@ -1,31 +0,0 @@
|
||||
mixin propTable(props)
|
||||
table.props
|
||||
thead: tr
|
||||
th= i18n('docs.api.props.name')
|
||||
th= i18n('docs.api.props.type')
|
||||
th= i18n('docs.api.props.description')
|
||||
tbody
|
||||
each prop in props
|
||||
tr
|
||||
td.name= prop.name
|
||||
td.type
|
||||
i= prop.type
|
||||
if prop.kind == 'id'
|
||||
if prop.entity
|
||||
| (
|
||||
a(href=`/docs/${lang}/api/entities/${kebab(prop.entity)}`)= prop.entity
|
||||
| ID)
|
||||
else
|
||||
| (ID)
|
||||
else if prop.kind == 'entity'
|
||||
| (
|
||||
a(href=`/docs/${lang}/api/entities/${kebab(prop.entity)}`)= prop.entity
|
||||
| )
|
||||
else if prop.kind == 'object'
|
||||
if prop.hasDef
|
||||
| (
|
||||
a(href=`#${prop.name}`)= prop.name
|
||||
| )
|
||||
else if prop.kind == 'date'
|
||||
| (Date)
|
||||
td.desc!= prop.desc ? prop.desc[lang] || prop.desc['ja'] : null
|
@@ -1,11 +0,0 @@
|
||||
@import "../style"
|
||||
|
||||
table.props
|
||||
.name
|
||||
font-weight bold
|
||||
|
||||
.name
|
||||
.type
|
||||
.optional
|
||||
font-family Consolas, 'Courier New', Courier, Monaco, monospace
|
||||
|
@@ -1,9 +0,0 @@
|
||||
h1 フォロー
|
||||
p ユーザーをフォローすると、タイムラインにそのユーザーの投稿が表示されるようになります。ただし、他のユーザーに対する返信は含まれません。
|
||||
p ユーザーをフォローするには、ユーザーページの「フォロー」ボタンをクリックします。フォローを解除するには、もう一度クリックします。
|
||||
|
||||
section
|
||||
h2 ストーキング
|
||||
p ユーザーをフォローしている状態では、さらに「ストーキング」モードをオンにすることができます。ストーキングを行うと、タイムラインにそのユーザーの全ての投稿が表示されるようになります。つまり、他のユーザーに対する返信も含まれることになります。
|
||||
p ストーキングするには、ユーザーページの「ストークする」をクリックします。ストーキングをやめるには、もう一度クリックします。
|
||||
p ストーキングしていることは相手に通知されません。
|
@@ -1,18 +0,0 @@
|
||||
/**
|
||||
* Gulp tasks
|
||||
*/
|
||||
|
||||
import * as gulp from 'gulp';
|
||||
const stylus = require('gulp-stylus');
|
||||
const cssnano = require('gulp-cssnano');
|
||||
|
||||
gulp.task('doc', [
|
||||
'doc:styles'
|
||||
]);
|
||||
|
||||
gulp.task('doc:styles', () =>
|
||||
gulp.src('./src/client/docs/**/*.styl')
|
||||
.pipe(stylus())
|
||||
.pipe((cssnano as any)())
|
||||
.pipe(gulp.dest('./built/client/docs/assets/'))
|
||||
);
|
@@ -1,3 +0,0 @@
|
||||
h1 Misskey Docs
|
||||
|
||||
p Welcome to docs of Misskey.
|
@@ -1,3 +0,0 @@
|
||||
h1 Misskey ドキュメント
|
||||
|
||||
p Misskeyのドキュメントへようこそ
|
@@ -1,41 +0,0 @@
|
||||
doctype html
|
||||
|
||||
html(lang= lang)
|
||||
head
|
||||
meta(charset="UTF-8")
|
||||
meta(name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no")
|
||||
title
|
||||
| #{title} | Misskey Docs
|
||||
link(rel="stylesheet" href="/docs/assets/style.css")
|
||||
block meta
|
||||
|
||||
//- FontAwesome style
|
||||
style #{facss}
|
||||
|
||||
body
|
||||
nav
|
||||
ul
|
||||
each doc in docs
|
||||
li: a(href=`/docs/${lang}/${doc.name}`)= doc.title[lang] || doc.title['ja']
|
||||
section
|
||||
h2 API
|
||||
ul
|
||||
li Entities
|
||||
ul
|
||||
each entity in entities
|
||||
li: a(href=`/docs/${lang}/api/entities/${kebab(entity)}`)= entity
|
||||
li Endpoints
|
||||
ul
|
||||
each endpoint in endpoints
|
||||
li: a(href=`/docs/${lang}/api/endpoints/${kebab(endpoint)}`)= endpoint
|
||||
main
|
||||
article
|
||||
block main
|
||||
if content
|
||||
| !{content}
|
||||
|
||||
footer
|
||||
p
|
||||
| %i18n:docs.edit-this-page-on-github%
|
||||
a(href=src target="_blank") %i18n:docs.edit-this-page-on-github-link%
|
||||
small= copyright
|
@@ -1,17 +0,0 @@
|
||||
h1 License
|
||||
|
||||
div!= common.license
|
||||
|
||||
details
|
||||
summary Libraries
|
||||
|
||||
section
|
||||
h2 Libraries
|
||||
|
||||
each dependency, name in common.dependencies
|
||||
details
|
||||
summary= name
|
||||
|
||||
section
|
||||
h3= name
|
||||
pre= dependency.licenseText
|
@@ -1,17 +0,0 @@
|
||||
h1 ライセンス
|
||||
|
||||
div!= common.license
|
||||
|
||||
details
|
||||
summary サードパーティ
|
||||
|
||||
section
|
||||
h2 サードパーティ
|
||||
|
||||
each dependency, name in common.dependencies
|
||||
details
|
||||
summary= name
|
||||
|
||||
section
|
||||
h3= name
|
||||
pre= dependency.licenseText
|
@@ -1,13 +0,0 @@
|
||||
h1 ミュート
|
||||
|
||||
p ユーザーページから、そのユーザーをミュートすることができます。
|
||||
|
||||
p ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります:
|
||||
ul
|
||||
li タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote)
|
||||
li そのユーザーからの通知
|
||||
li メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴
|
||||
|
||||
p ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
|
||||
|
||||
p 設定>ミュート から、自分がミュートしているユーザー一覧を確認することができます。
|
@@ -1,120 +0,0 @@
|
||||
h1 検索
|
||||
|
||||
p 投稿を検索することができます。
|
||||
p
|
||||
| キーワードを半角スペースで区切ると、and検索になります。
|
||||
| 例えば、「git コミット」と検索すると、「gitで編集したファイルの特定の行だけコミットする方法がわからない」などがマッチします。
|
||||
|
||||
section
|
||||
h2 キーワードの除外
|
||||
p キーワードの前に「-」(ハイフン)をプリフィクスすると、そのキーワードを含まない投稿に限定します。
|
||||
p 例えば、「gitというキーワードを含むが、コミットというキーワードは含まない投稿」を検索したい場合、クエリは以下のようになります:
|
||||
code git -コミット
|
||||
|
||||
section
|
||||
h2 完全一致
|
||||
p テキストを「"""」で囲むと、そのテキストと完全に一致する投稿を検索します。
|
||||
p 例えば、「"""にゃーん"""」と検索すると、「にゃーん」という投稿のみがヒットし、「にゃーん…」という投稿はヒットしません。
|
||||
|
||||
section
|
||||
h2 タグ
|
||||
p キーワードの前に「#」(シャープ)をプリフィクスすると、そのキーワードと一致するタグを持つ投稿に限定します。
|
||||
|
||||
section
|
||||
h2 オプション
|
||||
p
|
||||
| オプションを使用して、より高度な検索を行えます。
|
||||
| オプションを指定するには、「オプション名:値」という形式でクエリに含めます。
|
||||
p 利用可能なオプション一覧です:
|
||||
|
||||
table
|
||||
thead
|
||||
tr
|
||||
th 名前
|
||||
th 説明
|
||||
tbody
|
||||
tr
|
||||
td user
|
||||
td
|
||||
| 指定されたユーザー名のユーザーの投稿に限定します。
|
||||
| 「,」(カンマ)で区切って、複数ユーザーを指定することもできます。
|
||||
br
|
||||
| 例えば、
|
||||
code user:himawari,sakurako
|
||||
| と検索すると「@himawariまたは@sakurakoの投稿」だけに限定します。
|
||||
| (つまりユーザーのホワイトリストです)
|
||||
tr
|
||||
td exclude_user
|
||||
td
|
||||
| 指定されたユーザー名のユーザーの投稿を除外します。
|
||||
| 「,」(カンマ)で区切って、複数ユーザーを指定することもできます。
|
||||
br
|
||||
| 例えば、
|
||||
code exclude_user:akari,chinatsu
|
||||
| と検索すると「@akariまたは@chinatsu以外の投稿」に限定します。
|
||||
| (つまりユーザーのブラックリストです)
|
||||
tr
|
||||
td follow
|
||||
td
|
||||
| true ... フォローしているユーザーに限定。
|
||||
br
|
||||
| false ... フォローしていないユーザーに限定。
|
||||
br
|
||||
| null ... 特に限定しない(デフォルト)
|
||||
tr
|
||||
td mute
|
||||
td
|
||||
| mute_all ... ミュートしているユーザーの投稿とその投稿に対する返信やRenoteを除外する(デフォルト)
|
||||
br
|
||||
| mute_related ... ミュートしているユーザーの投稿に対する返信やRenoteだけ除外する
|
||||
br
|
||||
| mute_direct ... ミュートしているユーザーの投稿だけ除外する
|
||||
br
|
||||
| disabled ... ミュートしているユーザーの投稿とその投稿に対する返信やRenoteも含める
|
||||
br
|
||||
| direct_only ... ミュートしているユーザーの投稿だけに限定
|
||||
br
|
||||
| related_only ... ミュートしているユーザーの投稿に対する返信やRenoteだけに限定
|
||||
br
|
||||
| all_only ... ミュートしているユーザーの投稿とその投稿に対する返信やRenoteに限定
|
||||
tr
|
||||
td reply
|
||||
td
|
||||
| true ... 返信に限定。
|
||||
br
|
||||
| false ... 返信でない投稿に限定。
|
||||
br
|
||||
| null ... 特に限定しない(デフォルト)
|
||||
tr
|
||||
td renote
|
||||
td
|
||||
| true ... Renoteに限定。
|
||||
br
|
||||
| false ... Renoteでない投稿に限定。
|
||||
br
|
||||
| null ... 特に限定しない(デフォルト)
|
||||
tr
|
||||
td media
|
||||
td
|
||||
| true ... メディアが添付されている投稿に限定。
|
||||
br
|
||||
| false ... メディアが添付されていない投稿に限定。
|
||||
br
|
||||
| null ... 特に限定しない(デフォルト)
|
||||
tr
|
||||
td poll
|
||||
td
|
||||
| true ... 投票が添付されている投稿に限定。
|
||||
br
|
||||
| false ... 投票が添付されていない投稿に限定。
|
||||
br
|
||||
| null ... 特に限定しない(デフォルト)
|
||||
tr
|
||||
td until
|
||||
td 上限の日時。(YYYY-MM-DD)
|
||||
tr
|
||||
td since
|
||||
td 下限の日時。(YYYY-MM-DD)
|
||||
|
||||
p 例えば、「@syuiloの2017年11月1日から2017年12月31日までの『Misskey』というテキストを含む返信ではない投稿」を検索したい場合、クエリは以下のようになります:
|
||||
code user:syuilo since:2017-11-01 until:2017-12-31 reply:false Misskey
|
@@ -1,120 +0,0 @@
|
||||
@import "../style"
|
||||
@import "./ui"
|
||||
|
||||
body
|
||||
margin 0
|
||||
color #34495e
|
||||
word-break break-word
|
||||
|
||||
main
|
||||
margin 0 0 0 256px
|
||||
padding 64px
|
||||
width 100%
|
||||
max-width 800px
|
||||
|
||||
section
|
||||
margin 32px 0
|
||||
|
||||
h1
|
||||
margin 0 0 24px 0
|
||||
padding 16px 0
|
||||
font-size 1.5em
|
||||
border-bottom solid 2px #eee
|
||||
|
||||
h2
|
||||
margin 0 0 24px 0
|
||||
padding 0 0 16px 0
|
||||
font-size 1.4em
|
||||
border-bottom solid 1px #eee
|
||||
|
||||
h3
|
||||
margin 0
|
||||
padding 0
|
||||
font-size 1.25em
|
||||
|
||||
h4
|
||||
margin 0
|
||||
|
||||
p
|
||||
margin 1em 0
|
||||
line-height 1.6em
|
||||
|
||||
footer
|
||||
margin 32px 0 0 0
|
||||
border-top solid 2px #eee
|
||||
|
||||
> small
|
||||
margin 16px 0 0 0
|
||||
color #aaa
|
||||
|
||||
nav
|
||||
display block
|
||||
position fixed
|
||||
z-index 10000
|
||||
top 0
|
||||
left 0
|
||||
width 256px
|
||||
height 100%
|
||||
overflow auto
|
||||
padding 32px
|
||||
background #fff
|
||||
border-right solid 2px #eee
|
||||
|
||||
@media (max-width 1025px)
|
||||
main
|
||||
margin 0
|
||||
max-width 100%
|
||||
|
||||
nav
|
||||
position relative
|
||||
width 100%
|
||||
max-height 128px
|
||||
background #f9f9f9
|
||||
border-right none
|
||||
|
||||
@media (max-width 768px)
|
||||
main
|
||||
padding 32px
|
||||
|
||||
@media (max-width 512px)
|
||||
main
|
||||
padding 16px
|
||||
|
||||
table
|
||||
display block
|
||||
width 100%
|
||||
max-width 100%
|
||||
overflow auto
|
||||
border-spacing 0
|
||||
border-collapse collapse
|
||||
|
||||
thead
|
||||
font-weight bold
|
||||
border-bottom solid 2px #eee
|
||||
|
||||
tr
|
||||
th
|
||||
text-align left
|
||||
|
||||
tbody
|
||||
tr
|
||||
&:nth-child(odd)
|
||||
background #fbfbfb
|
||||
|
||||
th, td
|
||||
padding 8px 16px
|
||||
min-width 128px
|
||||
|
||||
code
|
||||
display inline-block
|
||||
padding 8px 10px
|
||||
font-family Consolas, 'Courier New', Courier, Monaco, monospace
|
||||
color #295c92
|
||||
background #f2f2f2
|
||||
border-radius 4px
|
||||
|
||||
pre
|
||||
overflow auto
|
||||
|
||||
> code
|
||||
display block
|
@@ -1,3 +0,0 @@
|
||||
h1 利用規約
|
||||
|
||||
p 公序良俗に反する行為はおやめください。
|
@@ -1,19 +0,0 @@
|
||||
.ui.info
|
||||
display block
|
||||
margin 1em 0
|
||||
padding 0 1em
|
||||
font-size 90%
|
||||
color rgba(#000, 0.87)
|
||||
background #f8f8f9
|
||||
border-radius 4px
|
||||
overflow hidden
|
||||
|
||||
> p
|
||||
opacity 0.8
|
||||
|
||||
> [data-fa]:first-child
|
||||
margin-right 0.25em
|
||||
|
||||
&.warn
|
||||
color #573a08
|
||||
background #FFFAF3
|
Reference in New Issue
Block a user