folita ドキュメント

プロフィール JSON

エクスポートやエディタの保存で使うプロフィールデータの形。

エクスポート の「プロフィール JSON」は、エディタがサーバーに保存するデータそのものです。 保存時にサーバーが値を検証して、範囲外の値は既定値に置き換えます。

全体

{
  "id": 12,
  "userId": 34,
  "displayName": "山田 花子",
  "bio": "イラストレーター。お仕事のご相談は DM へ",
  "status": "作業中",
  "birthday": "2006-09-18",
  "birthdayVisibility": "all",
  "titleSuffix": true,
  "avatarUrl": "https://cdn.folita.me/avatars/u1-abc123.png",
  "coverUrl": "",
  "theme": { "...": "テーマ(下記)" },
  "customCss": ".folita-link { font-weight: 700 }",
  "layoutMode": "grid",
  "nav": { "...": "ページとナビ(下記)" },
  "published": true,
  "updatedAt": 1757646105,
  "blocks": [ { "...": "ブロック(下記)" } ]
}
キー型内容
displayNamestring表示名(80 文字まで)
biostring自己紹介(1000 文字まで)
statusstringひとことステータス(60 文字まで、1 行)
birthdaystring生年月日(YYYY-MM-DD 形式。空なら未設定)
birthdayVisibility"all" | "month_day" | "year" | "none"誕生日の公開範囲(年月日 / 月日だけ / 年だけ / 非公開)
titleSuffixboolean公開ページのブラウザーのタブのタイトル「表示名 (@ID) | folita.me」に「| folita.me」を付けるか(既定 true)
avatarUrl / coverUrlstringアイコン / カバー画像の URL。空なら未設定
themeobjectテーマ
customCssstringカスタム CSS(保存時にサニタイズ)
layoutMode"stack" | "grid"縦並び / グリッド
navobjectページ(タブ)とナビ
publishedboolean公開しているか
updatedAtnumber最終保存の UNIX 時刻(秒)
blocksarrayブロック。sortOrder の順

ページとナビ

{
  "style": "bottom",
  "header": "all",
  "labels": true,
  "items": [
    { "type": "page", "key": "home", "label": "ホーム", "icon": "home" },
    { "type": "page", "key": "tweets", "label": "つぶやき", "icon": "message" },
    { "type": "page", "key": "me", "label": "わたし", "icon": "user", "themes": ["fluent"] },
    { "type": "link", "url": "https://example.com/", "label": "サイト", "icon": "globe", "newTab": true }
  ]
}
キー取りうる値
stylebottom(下バー)top(上のタブ)none(出さない)
headerall(全ページにプロフィール)first(最初のページだけ)
labelsアイコンの下に名前を出すか
items8 個まで。page は key(半角英小文字・数字・- _、24 文字まで。重ならない)と label(20 文字)icon、link は url label icon newTab。key が home のページは必ずある どちらも iconUrl(アップロードした画像の URL。あれば icon の代わりにナビに出る)を持てる。page には visibility(all | owner)と themes(表示するテーマ。material liquidglass fluent の配列。空か省略で全テーマ。アダプティブデザインでは端末の種類ごとに出るページが変わる)
iconhome message music palette video image link heart star user mail book pen camera gamepad code coffee globe calendar rss shop server activity sparkles info key external grid layers。ほかに tabler:<名前>(Tabler Icons)、segoe:<コード>(Segoe Fluent Icons。Windows でだけ描ける)、win:<分類>/<名前>(Windows 11 のアイコン集)も可

テーマ

{
  "kind": "material",
  "options": {},
  "preset": "clean",
  "background": { "type": "solid", "color": "#f7f7f5" },
  "fontFamily": "noto-sans-jp",
  "textColor": "#171717",
  "mutedColor": "#737373",
  "accentColor": "#111111",
  "buttonStyle": "solid",
  "buttonColor": "#111111",
  "buttonTextColor": "#ffffff",
  "buttonRadius": 14,
  "cardBg": "rgba(255,255,255,0.85)",
  "avatarShape": "circle",
  "avatarSize": 96,
  "maxWidth": 560
}
キー取りうる値
kindテーマ。material liquidglass(classic は material の旧名)。adaptive が true なら端末で決まる
optionsテーマ固有の設定。liquidglass は orb1〜orb4(色)tint(0〜0.9)blur(0〜40)refraction(0〜60)card orbs motion lens(boolean)
presetclean midnight sakura mono forest paper pop custom
background.typesolid(color)/ gradient(from to angle 0〜360)/ image(url overlay 0〜1)
fontFamilysystem segoe noto-sans-jp roboto-jp inter zen-kaku mplus-rounded kosugi-maru shippori-mincho playfair space-grotesk dm-mono dela-gothic。system は端末の UI フォント(Hiragino Sans / Yu Gothic UI / Noto Sans CJK JP)。adaptive が true のときは使われず、端末ごとの UI フォントになる
textColor mutedColor accentColor buttonColor buttonTextColor cardBgCSS の色(#rgb #rrggbb rgb() rgba() など)
buttonStylesolid outline soft shadow glass
buttonRadius0〜999
avatarShapecircle rounded square
avatarSize40〜240
maxWidth320〜1200

ブロック

すべてのブロックに共通のキー:

{
  "id": "3f8c1e2a-9b4d-4c6e-8f10-2a7b5c9d1e34",
  "type": "link",
  "content": { "...": "種類ごと(下記)" },
  "style": { "bg": "#ffffff", "color": "#111111", "radius": 12, "className": "hero" },
  "page": "home",
  "sortOrder": 0,
  "colSpan": 2,
  "rowSpan": 1,
  "visible": true,
  "visibility": "all"
}
キー内容
idUUID。Webhook と CSS の data-block-id に使われる
typelink richlink text heading image gallery social tags table embed feed timeline divider
page置くページの key(ナビに無いページならホーム)
style任意。bg color(色)、radius(0〜999)、className(300 文字まで)
colSpan / rowSpanグリッド配置での幅(1: 半分、2: 全幅)と高さ(1〜2 行)
visible非表示なら false
visibility"all" | "owner"。owner は folita にログインした本人にだけ表示(ほかの人と MCP サーバーには出ない)

content の形

typeキー
linktitle(200)url emoji(16)newTab(boolean)
richlinktitle(200)url description(1000)imageUrl newTab
texttext(5000)align(left center right)
headingtext(200)level(1〜3)align
imageimageUrl url(リンク先、任意)title(代替テキスト、200)aspect(auto square video wide)
socialitems: [{ "platform": "x", "url": "https://x.com/..." }, ...](30 個まで)。platform は x instagram youtube tiktok github note pixiv twitch discord line threads bluesky spotify website email
embedembedUrl(YouTube / Spotify / Vimeo / SoundCloud の URL)title(200)
feedsource(note bluesky youtube x)account(note のユーザー名 / Bluesky のハンドル / YouTube のチャンネル ID。X のユーザー名。x は空なら連携中のアカウント)count(1〜10)title(200)
tabletitle(200)rows: [{ "label": "趣味", "value": "音楽", "url": "" }, ...](30 行まで。label 40・value 500)
timelinetitle(200)sources(x bluesky threads note youtube pixiv の配列。空ならすべて)layout(list grid)count(5〜200)showMetrics translate sourceTabs accountTabs refresh(boolean)translateTarget(DeepL の言語コード)kinds(post reply retweet quote の boolean)
dividerなし

括弧内は最大文字数です。URL は https: http: mailto: tel: とサイト内パスだけが有効で、それ以外は空になります。

このページの内容