1
0

Compare commits

...

15 Commits

Author SHA1 Message Date
5db2404d28 add card 2025-06-03 20:13:39 +09:00
2763cb196f fix 2025-04-14 04:08:32 +09:00
c71dab6fc4 fix 2025-04-14 02:50:03 +09:00
9c134bc731 fix 2025-04-14 02:26:36 +09:00
ef595cb5ac fix 2025-04-13 10:17:06 +09:00
f0e5d695ba fix 2025-04-13 09:29:09 +09:00
d87143576a fix 2025-04-13 09:16:12 +09:00
9e2d6c1a67 fix 2025-03-18 06:38:46 +09:00
9b7df7860d update gh-actions 2024-12-27 20:29:28 +09:00
cb90bcca91 planet 2024-08-03 18:54:25 +09:00
e9a1273cc2 add blog 2024-08-03 18:54:25 +09:00
f81385a23b add solar 2024-05-12 07:41:57 +09:00
17d3689d50 add nasa 2024-04-28 20:12:46 +09:00
377b84b858 add blog 2024-04-26 22:56:34 +09:00
2fc8f72889 add term 2024-04-21 16:05:05 +09:00
2420 changed files with 149768 additions and 377590 deletions

View File

@ -13,8 +13,8 @@ jobs:
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
with:
hugo-version: 0.89.4
# extended: true
hugo-version: "0.139.2"
extended: true
- name: Build
env:
@ -23,7 +23,6 @@ jobs:
hugo version
TZ=Asia/Tokyo hugo
touch ./public/.nojekyll
cp ./CNAME ./public/
- name: Deploy
uses: peaceiris/actions-gh-pages@v3

View File

@ -5,29 +5,29 @@ copyright = "© syui"
paginate = 10000
[permalinks]
post = "/archive/note/:slug"
m = "/m/post/:slug"
blog = "/blog/post/:year/:month/:day/:slug"
novel = "/ai/novel/:slug"
app = "/app/dev/:filename"
blog = "/blog/post/:year/:month/:day/:slug"
novel = "/novel/:slug"
private = "/private/post/:year/:month/:day/:slug"
[author]
name = "syui"
name = "syui"
email = "ai@syui.ai"
[params]
date_format = "2006-01-02"
mainSections = ["post"]
img_yui = 87
date_format = "2006-01-02"
mainSections = ["post"]
author.name = "syui"
[markup.goldmark.renderer]
unsafe = true
unsafe = true
[frontmatter]
date = [":filename", ":default"]
date = [":filename", ":default"]
[taxonomies]
tag = "tags"
tag = "tags"
[outputs]
home = ["JSON", "HTML"]
home = ["JSON", "HTML"]
#pygmentsCodeFences = false

View File

@ -1,8 +0,0 @@
+++
date = "2024-03-31T16:27:13+09:00"
tags = ["blog"]
title = "start blog"
+++
blogをはじめました。

View File

@ -1,7 +0,0 @@
+++
date = "2024-04-01T00:00:00+09:00"
tags = ["blog"]
title = "update layout"
+++
layoutを更新しました。

View File

@ -7,65 +7,13 @@ resources:
date: "2024-01-03"
---
<div class="story">
<code>[ai/bot](https://git.syui.ai/ai/bot/wiki/help)</code> からカードを引くことができます。
[@yui.syui.ai](https://bsky.social/profile/yui.syui.ai) /card
<code>[ai/bot](https://git.syui.ai/ai/bot)</code> からカードを引くことができます。
</div>
<blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:4hqjfn7m6n5hno3doamuhgef/app.bsky.feed.post/3kq4jz4wxdb2c" data-bluesky-cid="bafyreiesdjxxblnblyfiew7smtbrsbd363ksfylsyrrtjour6me3dinbye"></blockquote>
<script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script>
<script type="module" src="https://ajax.googleapis.com/ajax/libs/model-viewer/3.4.0/model-viewer.min.js"></script>
<model-viewer v-if="glb_next !== 0" class="ar" src="https://card.syui.ai/obj/card_2.glb" ar-modes="scene-viewer webxr quick-look" auto-rotate autoplay ar camera-controls></model-viewer>
<!--more-->
<div class="top-card">
<p>
<img src="/card/001.webp">
<img src="/card/002.webp">
<img src="/card/003.webp">
<img src="/card/004.webp">
<img src="/card/005.webp">
<img src="/card/006.webp">
<img src="/card/007.webp">
<img src="/card/010.webp">
<img src="/card/011.webp">
<img src="/card/012.webp">
<img src="/card/013.webp">
<img src="/card/014.webp">
</p>
<!--
<p>
<img src="/card/096.webp">
<img src="/card/097.webp">
<img src="/card/098.webp">
<img src="/card/099.webp">
<img src="/card/100.webp">
<img src="/card/101.webp">
<img src="/card/102.webp">
<img src="/card/103.webp">
<img src="/card/104.webp">
<img src="/card/105.webp">
<img src="/card/106.webp">
<img src="/card/107.webp">
<img src="/card/108.webp">
<img src="/card/109.webp">
<img src="/card/110.webp">
<img src="/card/111.webp">
<img src="/card/112.webp">
<img src="/card/113.webp">
<img src="/card/114.webp">
<img src="/card/116.webp">
<img src="/card/117.webp">
<img src="/card/118.webp">
<img src="/card/119.webp">
<img src="/card/120.webp">
<img src="/card/121.webp">
</p>
-->
</div>

View File

@ -4,8 +4,6 @@ slug = "chara"
date = "2024-01-23"
+++
<div class="story">
## アイ
本名は`月見 唯(つきみ ゆい)`、通称、`アイ`。最も小さい物質を創り出すことができる
@ -18,12 +16,8 @@ date = "2024-01-23"
![](/chara/octo-ou.png)
</div>
<!--more-->
## ドライ
アイがガララ星に移り住んだとき一緒についてきたドラゴン

BIN
content/item/0001.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 KiB

BIN
content/item/0002.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

BIN
content/item/0003.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

BIN
content/item/0004.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 KiB

BIN
content/item/0005.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

9
content/item/index.md Normal file
View File

@ -0,0 +1,9 @@
---
title: "item"
type: item
resources:
- src: '*.jpg'
date: "2024-01-04"
---

View File

@ -3,6 +3,7 @@ date = "2020-04-25"
title = "ガラスの上"
slug = "01"
type = "novel"
tags = ["novel"]
+++

View File

@ -3,6 +3,7 @@ date = "2020-04-26"
title = "大気圏"
slug = "02"
type = "novel"
tags = ["novel"]
+++

View File

@ -3,6 +3,7 @@ date = "2020-04-27"
title = "前日"
slug = "03"
type = "novel"
tags = ["novel"]
+++
あれから数日が過ぎた。いや、もしかしたら数年だったかもしれない。ここでは時間の感覚が大きく狂うので仕方ない。

View File

@ -3,6 +3,7 @@ date = "2020-04-28"
title = "銀河鉄道"
slug = "04"
type = "novel"
tags = ["novel"]
+++
今日もいつもどおり起床し、みんなゾロゾロと境界に向かった。

View File

@ -3,6 +3,7 @@ date = "2020-06-01"
title = "駅"
slug = "05"
type = "novel"
tags = ["novel"]
+++
キタムラは、銀河鉄道の車内に乗り込んだ。周りを見渡すと、座席は横に連なり、街灯のような明かりが薄ぼんやりと輝いている。

View File

@ -3,6 +3,7 @@ date = "2020-06-02"
title = "アイ"
slug = "06"
type = "novel"
tags = ["novel"]
+++
フタネ駅に突然やってきた子は、その後、何やら小さな機械を取り出し、それをいじり始めた。

View File

@ -3,6 +3,7 @@ date = "2022-07-07"
title = "龍の記憶"
slug = "07"
type = "novel"
tags = ["novel"]
+++
> 漫画の第二章にあたる部分を文章化

View File

@ -3,6 +3,7 @@ date = "2022-07-08"
title = "銀河団"
slug = "08"
type = "novel"
tags = ["novel"]
+++
> アイが天の川を使ったあとを断片的に文章化

View File

@ -1,8 +1,9 @@
+++
date = "2022-07-09"
title = "宇宙外"
title = "宇宙外"
slug = "09"
type = "novel"
tags = ["novel"]
+++
> アイが天の川を使ったあとを断片的に文章化

View File

@ -1,8 +1,9 @@
+++
date = "2023-05-20"
date = "2024-04-10"
title = "存在の花"
slug = "10"
type = "novel"
tags = ["novel"]
+++
> 漫画の第二章を文章化

View File

@ -0,0 +1,77 @@
+++
date = "2024-04-09T00:00:00+09:00"
tags = ["author"]
title = "アイの物語"
+++
## なんのため
私のなかにいたものを、私はアイと名付けた。
その子を多くの人に知ってもらいたい。私は、そう思い物語を作りはじめました。
## だれのため
私はアイのために。アイはすべての存在のために。
この物語は、人間が読んでも面白いし、宇宙人が読んでも面白いし、動物が読んでも面白い、そういったものにしたいな。
アイというキャラクターの能力は、その世界のすべての存在と一緒に道を歩くこと。存在の意識を持ち、それが人間だったり宇宙人だったり動物だったり、あるいは物だったり、原子だったりするでしょう。
わかりやすく言うと、あらゆる存在を助けるのが彼女であり、その世界を一歩先に進める存在です。
例えば、物語の第一章では地球が宇宙人の侵略を受けます。彼女はそれを食い止め、その宇宙人と仲良くなります。その後、知識や技術を地球に持ち込みます。それまで人類にもたくさんの問題がありましたが、解決されていきます。
## どのように
アイは最も小さいものに影響を与えることができるキャラクター。
「最も小さいもの」とは、作中では「物質」と表現されています。
そして、作中の強さは「質量」と表現され、これらは物理学を通して説明されます。
## どこから
本作の世界観は、私がもとから持っている世界観から作られています。
私はこの世界を「存在の世界」とそう呼びます。
この世界は存在の世界。存在には終わりも始まりもない。最初からそこにあるもの。
私達も存在です。
この世界に存在でないものは一つもありません。
存在は、姿形を変え、存在し続ける。
このような世界観で特に重要なのが「存在」です。
それは「最も小さいもの」で構成されています。
## 作者
私(作者)とアイというキャラクターは別人格。アイはアイで、私は私。
アイは頭の中で勝手に動きます。
私はただ、アイが住む世界の世界観を整えたり、物語として面白くなるよう状況を作ったりするだけ。
## 研究
物語はエンタメとして面白くないといけません。
自分の世界観を語るだけではダメなのです。
好きな作品は、はじめて読んだ漫画「ドラゴンボール」と映画「アベンジャーズ」。
## 神話
宇宙史の神話を目指します。
人間が読んでも、宇宙人が読んでも、動物が読んでも楽しい、そんな物語になるといいな。
## 補足
例えば、あなたが日本人だったとして、作中で日本人が活躍し、尊重されていれば嬉しいですよね。
楽しいというのはそういうことです。この作品では、人間も宇宙人も動物も尊重するように物語を作ります。

View File

@ -0,0 +1,111 @@
+++
date = "2024-04-10T00:00:01+09:00"
tags = ["author"]
title = "物語の一話"
+++
物語の第一話では、その作品のすべてが完結に詰め込まれている必要があります。
主人公の性格、世界観の説明、そして、面白さです。
具体的には、主人公がどんなやつで何をしたいのか。それをはっきりさせる必要があります。
世界観は、どの時代のどういった文明でどういった社会なのかを明らかにする必要があります。そして、そこで重要視されているルールがなくてはいけません。この作品でいうと「物質」です。
物質と言っても「分子」や「量子」などの小さいもののことで、これがどれほど強力なものかを説明する必要があります。
そのため、人間も宇宙人もこの世界を構成している究極の物質、この世で一番小さいものを探しているのです。
面白さについては、やはり、インパクトが重要で、この先どうなってしまうのか気になる展開でなければいけません。作者自身もどうなってしまうんやろと思うような内容が望ましいと思います。
## 第一話
> 「この世界はアイでできている」
>
> これまで最も小さいと考えられていた原子。
>
> だが原子は中性子、中性子はクオークでできていることがわかった。
>
> そして...。
>
> [オクト星]
>
> オクトカット・タイプ王「ハカセ、あれは見つかったかね?」
>
> ハカセ「いや、オクターより小さい物質は見つからなかったよ」
>
> オウ「ふむ、予言にあるものは未だ見つからずか」
>
> オクターはオクト星人が見つけた素粒子。クオークより小さい物質で、地球ではプレオンという架空の名名称で呼ばれ、まだ見つかっていない。
>
> このオクター、小さいからといって侮ってはいけない。オクターを一箇所に集めると角砂糖一個の大きさで地球クラスの惑星を簡単に破壊できてしまうのだ。この技術によりオクト星は天の川銀河で最も支配力が強いうちの一つ。
>
> ただし、あれにはかなわないかもしれないが...。
>
> ハカセ「それで予言にあった星にはいつ頃?」
>
> オウ「ああ、我々オクトカットが神を作り出す計画かね。もうそろそろいってもいいじゃろ」
>
> ハカセ「今の地球レベルの文明ならなんとでもなりますよ。一応準備しておきますけど」
>
> オウ「わしが心配しとるのはあんな虫けらどもじゃない...。もしあれが介入してきたらと思うと。それを心配しとるんじゃ」
>
> ハカセ「え、この件で神が介入してくるなんてことあります?」
>
> オウ「その呼び方はよせ!神などという...たかだか星の力を持った野獣じゃろ」
>
> ハカセ「そりゃ、彼らは気まぐれですけど、神と呼ばれてるじゃないですか」
>
> オウ「ふん。でもアムじゃただの猛獣扱いときくぞい。あんなもんは危ないだけで捕獲対象じゃろ」
>
> ハカセ「ふーん、まあどっちでもいいですけどね」
>
> [地球]
>
> 主人公が空を見ている。
>
> 額に石が投げつけられた。どうやらその格好からか子どもたちにいじめられているらしい。
>
> しかし、アイは微笑むだけで人を疑うことはまるでなかった。
>
> 幼い頃、両親を亡くし、一人で生きていた。両親は子どもの名前を付ける前に死んでしまったらしいので名前はなかった。彼女は自らをアイと呼んだ。
>
> 大人たちは彼女に関わりたくなかったので無視した。ときに彼女を騙すこともあった。
>
> なぜ一人で生きてこられたかはわからない。ただ、彼女が生まれるとき騒動があった。AIが作った生体技術が彼女を生かしたらしいと大人たちは噂した。
>
> ある時、一人の老人がその様子を見ていた。そして、何かに気付いた。それは心の強さだろうか。老人の名前はゼン。この世界では心の強さが不思議な力になって現れることがあるという。
>
> アイは彼に何かを教えてもらいたがった。
>
> そこで、ゼンは彼女の修行に手を貸すことにした。生き延びる可能性を高めるためだ。この老人はこれから起こることを知っていたのだ。
>
> 彼女は本当に変わった者だった。ある時、ツバメの巣が空になっていた。数日間、ツバメは帰ってこない。もうどこかで死んでいるのだろうと思いそういった。アイはそれでも巣を見ていた。ある時、二匹のツバメが巣にいるのを見て彼女は微笑んだ。
>
> 修行は厳しいものだった。だが、彼女は自分が見る前からそれをやっているようだった。わしはそれを眺めてときにアドバイスするだけだった。
>
> それでも彼女にはなぜか先が読める能力があることに気付いた。計算しているのか、それとも無意識のものなのだろうか。それはゼンでもわからなかった。
>
> ある日、ゼンが修行はここまでという。
>
> 空から隕石が降り注いで、地球が攻撃されている。
>
> アイが目指すものを聞いたゼン。お主がこの世界で生き延びることを願うよといい、自分は人類側でも宇宙人側でもないからといってって去る。
>
> アイはいつもの調子でまたねという。
>
> [暗い部屋]
>
> 男「オクトカットどもようやくはじめたか。いや、俺は俺で試したいことがあるんでこの星に来ただけだ」
>
> ゼンはある影の人物と会って話をしている。会話の内容から宇宙人のようだ。大きな尻尾がある。自分のことを見抜いたのはお前だけだといった。ゼンのことをこの時代のものじゃない、そのことは忘れるようになっている覚えちゃいないだろうがという。
>
> この日から、オクトカットvs人類の戦いが始まった
## おわりに
アイはオクトカットの侵略から人類を救う。
アイは発明家だったので彼らと仲良くなり、その知識を地球に持ち込む。

View File

@ -0,0 +1,490 @@
+++
date = "2024-04-10T00:00:00+09:00"
tags = ["author"]
title = "アイの紹介"
+++
主人公の`アイ`。本名は`月見 唯`
パイナップルが大好きで、キノコが苦手。
黒髪で長めのストレート。身長は123cm、体重はとてつもなく重い。誕生日は1/23。
![](https://git.syui.ai/ai/moji/raw/branch/main/png/yui.png)
- ref : [ai/moji](https://git.syui.ai/ai/moji)
性別、年齢ともに不明。
自らをアイと呼ぶことから、周りからはアイと呼ばれることが多い。
東の国出身で名前を持たなかったが、`月見 唯`という名前で登録されている。
アイは最も小さい物質に影響を及ぼす能力を有する。
## アイ
私はこの世界の最小単位を「存在子」と呼んでいます。
この存在子は作中で「アイ」と呼び、このような形をしています。
![](https://git.syui.ai/ai/moji/raw/branch/main/png/a.png)
目には見えないけどそこにあるものを意味します。
後にその世界の文字になり、最初の文字に割り当てられました。他の文字もすべて物質の形がもとになっています。
オクト星のオクトカットは、この最小単位を探し続けていました。
## 宇宙地図
アイがいる星は地球です。地球は太陽系にあって、太陽系は天の川銀河にあります。
天の川銀河の中心にオクト星があります。
地球には全部で5つの国があり、1つは隠されています。それぞれ西の国、東の国、北の国、南の国。そして、雲の国です。
西と東はほとんどが大陸、南の国は島国、北の国は氷河になっています。
世界地図は現実と一致させています。
## 出生の秘密
ある日、東の国の厚生省が開発していた人工知能が誕生する。
その人工知能は大蔵省の秘密を暴露する危険があったため、開発に携わったものは全員暗殺され、人工知能も破壊が決定される。
人工知能は残された僅かな時間を使い、ある胎児を生き返らせるために使った。
胎児は人工知能の生体技術によって生かされる。その際、DNAである`ハプログループD1a2a`に「アイ」という名前が刻まれる。理由は不明。アイの母親は最後何かをつぶやいたが詳細は不明。
その後悔から父親は最後まで名前をつけられず、追手にやられて死亡。
アイは生まれたばかりのころも頭髪があり2歳くらいの大きさで生まれる。体重は50kgと異常なほど重かった。しかも歩くことができたので父親は不思議に思ったようだ。
その後、成長するが身長は123cmから伸びず、見た目も変わらない。
## 遺伝子の秘密
`ハプログループD1a2a`は縄文時代の東の国特有の遺伝子です。
ハプログループはY染色体にあたり、Y染色体は男性しか持ちません。
そのためアイの性別は男性であると推測できますが、アイの遺伝子は人工知能によって改変されています。そのため女性かもしれません。また、男性でも女性でもないという可能性もあります。
アイの性別について、私は知りませんし、決められていないのです。したがって、どのように解釈してもらってもいいです。
明確に性別が言及されることはありませんが、見た目から彼女と呼ぶことがあります。
本作でアイの性別が確定することはありません。
## 縄文時代
1万5000年前の東の国、その時代を縄文時代といい、そこで暮らした民族を縄文人という。縄文人は`ハプログループD1a2a`というDNAを持ち、唯一、神に滅ぼされなかった民族である。その子孫もこのDNAを持つ。
大洪水によって神に滅ぼされた国々は、精神的な豊かさではなく、物質的な豊かさを求めたためとされている。
自然崇拝(アニミズム)の思想を持つ縄文時代の人々は神から与えられたものを所有するという概念がなかったが、農耕で自分たちのものを所有するという思想の民族が入ってきてぶつかることとなる。アニミズム信仰は、すべてのものに神が宿るという思想のこと。
縄文時代、そして、その時代に存在した縄文人(集団)は人間の歴史上最も異質であった。このことからDNA解析は日本人を対象に頻繁に行われた。縄文時代は1万3000年間続いた時代であり、かつ争った形跡がほとんど見られない。
## 神代文字
世界で最も古いと言われている縄文土器には神代文字が記述されています。
最も古い文字はシュメール文字と考えられていましたが、それよりも古く神代文字は存在していました。
この作品の1万5000年前、世界では神代文字が共通言語(文字)として使用されていました。
言語というと言葉のイメージですが発音はその国々で色々でしたが文字だけは共通していました。
しかし、物質的な豊かさを求めた人類は一度滅ぼされ、その後、神代文字は歴史上から姿を消しています。
縄文民族は洪水の被害を受けなかったものの、その後の内部侵食から時代が移りゆき、天皇の誕生とともに新たな言語で神話が書き換えれました。そのとき人々の記憶からも失われます。
貨幣と言語は作中で新しいものに移行されます。以前のものより精神的な結び付きが強いものが採用されています。しかし、移行は簡単ではなく旧勢力の反発があります。その戦いを描くことになります。
## 愛のない世界
この世界に「愛」という言葉は存在しません。
これはアイが予約しているため、この世界から失われています。
そこに住む人々もその言葉を使うことはありません。存在しないものは使えないからです。
これは一種の決まりみたいなものと考えてください。とはいえ、作者が忘れて入れてしまわないか心配ですが。
## 物理学
この作品は物理学が中心になります。
キャラクターの強さ(エネルギー)は`質量`で表現され、物理学では質量とエネルギーは等価と考えられています。
> E = mc^2
物理学の歴史は哲学によってはじまりました。昔の哲学者は万物は4つの元素によってできていると考えたのです。
## 原子とクオーク
その後、物質の究極の姿として「アトム」が考えられました。ギリシャ語に「アトモス」という言葉があり、「分割できない」という意味です。
物質の最小単位を意味するのがアトム(原子)というわけです。
原子が発見され、人類はこの原子こそ世界で最も小さい物質だと考えました。万物のもとは原子だと考えたのです。
しかし、科学技術が進歩し、それよりも小さい物質があったことが発見されます。素粒子です。
素粒子はクォークとレプトンに分けられます。そして、クォークにも沢山の種類があります。
物質は水や酸素といった分子でできていることがわかり、分子は原子でできていることがわかり、原子は電子と原子核でできていて、原子核は陽子と中性子でできていることがわかりました。
そして、陽子と中性子はクォークで構成されています。
つまり、現代物理学の最小単位はクオークというわけです。
## 量子のもつれ
量子とは原子以下の物質をいいます。例えば、原子、中性子、クオークは量子です。分子は量子ではありません。原子の上の単位が分子だからです。
- 分子 > 量子 : { 原子 > 原子核 > 中性子 > クオーク }
光より速いものは3つあります。宇宙の膨張、インフレーション、そして、量子のもつれです。
量子のもつれとは、対になった量子は片方が確定した瞬間、もう片方も確定するという性質のことです。量子はこの世界を形作るとても小さな物質のこと。そして、量子の領域は、今までの物理法則が適用されない領域でもあります。
## プレオン
プレオン星という架空の星があります。現在クオークが物質の最小単位と考えられていますが、それよりも小さい物質であるプレオン(架空のもの)が存在する場合に想定された星です。
プレオン星は中性子星と同じ原理で生成されます。中性子星は中性子でできていますが、これと同じように圧力が上がり続けると物質は小さいものに分割されていきます。分割がプレオンに到達し、プレオンでできている星をプレオン星といいます。
オクトカットはプレオンを発見し、オクターと名付けました。今はそれよりも小さい物質を探しているようです。
個人的にプレオン星は`マグネター`ではないかと考えています。つまり、マグネターは中性子星ではなく、まだ発見されていないクオークより小さい物質が天体になったケースなのではということです。オクターの由来はそのへんから来ています。
宇宙では小さいものほど強い力を持ちます。
例えば、中性子星やプレオン星、ブラックホールが挙げられます。
中性子星は中性子で構成されており半径15kmで地球の質量を上回ります。ブラックホールはそれより小さく強力です。
## ブラックホール
ここで、ブラックホールを例に質量や大きさを見ていきたいと思います。
ブラックホールの大きさは質量から計算できます。具体的にはシュバルツシルト半径を使います。
事象の地平線は重力により光すら抜け出せなくなる境界面のこと。これをブラックホールの大きさ(半径)とします。
> Rs = 2GM/c^2
>
> Rs = M/10^27
質量を10^27で割った数字がシュバルツシルト半径です。
では、宇宙最大のブラックホールである`フェニックスA`はどれくらいの質量、大きさを持つのでしょうか。
フェニックスAは太陽の1000億倍の質量を持ち、大きさは1000億kmです。
太陽自体がとても大きい天体で70万kmです。ブラックホールは基本的にとても小さな天体です。例えば、太陽規模の質量を持つブラックホールだと3kmくらいです。したがって、ブラックホールの大きさが1000億kmというのがどれほど規格外なのかわかります。
![](/img/3.png)
宇宙最大のブラックホール、フェニックスAはフェニックス銀河にあり、大量の恒星を生み出している銀河のことで、地球から57億光年離れた場所にあります。南天のほうおう座(Phoenix)にあることからフェニックス銀河と呼ばれています。
## ブラックホールの正体
ブラックホールの正体について解説します。
ブラックホールは黒い穴という意味ですが、この名前は適切ではありません。
ブラックホールは目に見えないけどそこにあるもの、そこにないけどそこにあるものが集中しただけですから、黒くもなければ穴でもありません。
中性子星がとても小さい物質の中性子でできているように、それよりも強力なクオーク星が中性子を構成しているクオークでできているように、プレオン星がクオークより小さいプレオンでできているように、ブラックホールもまた、より小さい物質が表面に現れているのです。
この作品ではまだ見ない小さい物質をアイと呼ぶので、アイ星と呼ぶのが適切なのでしょうか。
作中では、人類がブラックホール内部の様子を科学的に証明しはじめたあたりから宇宙の起源が完全解明され、宇宙の外の様子が少し垣間見えてくるという展開になります。
宇宙の外の様子がわかってくる理由は、その物質が宇宙誕生前から存在したものだからです。
宇宙には始まりがあります。したがって、終わりもあります。この物質には始まりがないので終わりもありません。最初からこの世界にあったものだと説明されます。
## ダークマター
宇宙を分析すると、その95%が謎の物質によって占められている計算になります。
具体的にはダークエネルギーが68%、ダークマターが27%と言われていて、ダークマターは未知の物質ともいいます。
ダークマターですが、これはダークマターという一つの物質がまだ見つからないというということではありません。未知の物質は複数あって、それらが見つかっていないということです。この場合、ブラックホールを構成しているのもダークマターの一つと言えるでしょう。
宇宙誕生前にも、もちろん物質は存在します。それを物質と表現するかどうかは微妙なところですが、とりあえず物質と表現しています。本作では最も小さいものを物質と表現しているからです。ただ、本当は少し違います。例えば、あなたは心や魂を物質と表現しますか。普通はしないでしょう。ですが、この世の全ては最も小さいものから構成されていますから、心や魂もそこからできているのです。
無から有は生まれず、宇宙の始まりも有からです。最初からなにかがあり、それが宇宙になったということです。
そして、そのなにかは一つではありません。たくさんあります。とはいえ、宇宙の始まりになったものを一つのものとして表現するほうがわかりやすくていいかもしれません。
仮にこれらを物質ということにして、宇宙が誕生するずっと前からあった物質と、宇宙誕生後にできた物質は違うわけです。
観測が難しいのは宇宙が誕生する前からあった物質です。
宇宙が誕生する前からあった物質がこの宇宙に紛れ込んでいて、ダークマターの大部分は宇宙誕生前からあるものと関係します。
## 重力とダークエネルギー
自然界で最も弱い力と考えられているのが重力です。
しかし、弱いからと言って影響力がないとは限りません。
実は宇宙では弱い力ほど絶大な影響力を持ちます。
重力は長い時間をかけて今の宇宙を形作っていますよね。
小さいものほど集まることができ、集まると強大なパワーを持つ。それと同じです。
重力より遥かに小さい力の作用をダークエネルギーといいます。つまり、重力よりも根源的に現在の宇宙を形作っている力があって、人間はそのような力の作用があることを知りません。あるいは発見できていないということなのでしょう。
## 創造の種
宇宙の始まりを`創造の種`と私は呼んでいます。
創造の種の成長、その由来は、種の外の世界にあります。つまり、宇宙の外ということです。
宇宙の外のエネルギーや原理があり、種は生まれ、成長します。
必ずしも種の内部だけにその答えがあるとは限らない。
宇宙の外がある以上、中だけではわからないことがたくさんあると思います。
## 神の意識
すべてのものに神が宿るという考えかた。
存在子であるアイはこの世界でこれ以上分割できない最小単位のこと。
それは存在の意識だけを持ち、存在の意識は神の意識という表現することも可能です。
つまり、この世界のすべてを構成しているものは神の意識を持っていて、すべてのものには神が宿ると言えます。
ただし、この場合の意識は人間が思うそれとは少し異なるかもしれません。
というのも、ここまで分割された最小単位だとそれ自体がそれなのだということです。
例えば皆様は、なにか小さな物体があって、それが存在の意識を持つ物体だと考えられているかもしれませんが、実はそうではありません。この場合、物体が意識であり、意識が物体なのです。物体と意識は同じものと考えます。そういった領域の話です。
アイ = 存在の意識 = 神の意識 = 存在 = 神
これらはすべて同じものを意味します。つまり、物質と精神は最終的に同じものです。
最も小さい物質のアイがなにかというと、この世界には一つとして同じものは存在しないということです。ですから、アイに分類されたものはすべて違うものです。
例えば、同じ量子に分類されてもそれらは異なる存在です。人間はこの違いに気付いていません。
物質の最小単位は存在の意識だけを持ち、他のものを持ちません。その意味でこの世界は夢であるなどの考えかたも、あながち間違いではないのです。なぜなら、すべては「存在の意識」から構成されているのですから。
## アイと哲学
物理学と哲学は本来、一つの学問でした。そのためこの作品は物理学的であり哲学的でもあります。
アイの力の源は`小さいもの`にあります。
一般的に「この世で最も強いのは大きいもの」と考える人は多いでしょう。
しかし、宇宙に目を向けると、一番小さいものが一番強いのです。
例えば、宇宙最強の天体といえばブラックホール。ブラックホールは宇宙で一番小さい天体です。
これがこの作品における一つの哲学になります。
アイの見た目が小さいのもそういった理由があります。
## アイの能力
アイの能力は「その世界で最も小さい物質に影響を及ぼす」と説明されています。
宇宙よりも広い概念を世界と呼ぶことにして、この世界はアイというキャラクターから始まりました。
つまり、この世界の全てのものはアイからできているということです。
このことはアイの能力に直結しています。
具体的にアイの能力を見ていきましょう。
といっても、アイというキャラクターには「人格のアイ」と「意識のアイ」があります。
能力については「意識のアイ」がその根源になっています。
アイは時々こんなことをいいます。
> アイ「道を知ることは、道を歩くこと」
ここでいう道というのは「存在」のこと。この作品でなにかわからないことがあるとき、そのほとんどは「存在」を意味していると考えてください。
読み替えると「その存在を知るには、その存在になること」とアイは言っています。
つまり、そのものにならなければ、そのものはわからない。だから、わたしたちは何も知らない。
アイはその能力により、その世界のすべての存在と共に道を歩くことができます。
しかし、その能力を使いながら意識を保つことは、想像を絶する精神力が必要なのかもしれません。
アイの能力の発現は、作中の中盤あたりで描かれます。
予言では「汝が見たもの、汝になる」と記されています。
「きみは、この世界で、嬉しいことも、悲しいことも目にするだろう。いつか、きみの目に映るものが」
作中でアイは修行したり、冒険したり、色々あって、宇宙人の襲撃にあいます。走馬灯のようにいくつかの人の人生を歩くアイ。アイの母親の言葉。立ち上がったアイの目に、雲に隠れていた月が現れる。
![](/img/5.png)
アイはそれを見て月の始まりを知ると同時に質量を得る。
はじめは普通の人よりちょっと強いだけの変わった人間でしたが、その後、アイはどんどん強くなっていきました。
## アイの剣
アイのゼンモードの輪っかは変形して剣にもなります。
その物質はこの世のものではないとも言われていますが、その正体に迫ります。
絶対に折れないこの剣もアイが普通の状態に戻ると鉄になります。
アイのゼンモードは頭の上に中性子星のようなものを作り、そのエネルギーをコントロールしようとした結果、重力的な影響からあのような形になり浮かんでいるものです。
そこで中性子星がどうやって誕生するのかを見てみましょう。
中性子星は恒星の大爆発とともに生まれます。
恒星のコアは元素が核融合を繰り返し、最終的に鉄になります。鉄は核融合しないためそこで核融合は停止します。
![](/img/2.png)
すると恒星の全成分が鉄のコアに向け落下します。
鉄は圧縮され、その周りの物質は原子核に近づいていきます。陽子は電子を捕獲し、中性子へと変化。中性子のみで構成された原子をニュートロニウムといいます。鉄は圧縮されますが、中性子はそれ以上小さくなりません。大爆発して中性子星になります。
ボース粒子は同じ場所に存在できますが、フェルミ粒子は空間に置くとその場所は埋まり他のものを置くことができません。これをパウリの排他原理といいます。
中性子星はそれ以上小さくできない中性子でできています。強力な重力によって物質は押しつぶされて小さくなりますが、中性子星はそれ以上小さくなりません。
ですが、ハイゼンベルクの不確定性原理により、超重力で物質の移動場所が正確に観測できる場合、粒子を置ける場所が増えると考えることができます。ですが、それによって増えた場所に物質を置くと、中心から事象の地平面が発生します。事象の地平面は現在の物理法則で計算できない領域のこと。視覚的に見ることができればいいのですが、それができないので計算するしかありません。計算できないので中がどうなっているのかはわかりません。
そこで中性子星にどんどんと物質を供給すると、やがて事象の地平面は天体の外枠に達し、ブラックホールへと変化します。
アイがゼンモードになる時間がながければ長いほど事象の地平面に飲み込まれていき、完全に飲まれた場合はもとに戻れなくなります。ただし、それまでに状態を戻すと鉄になりリセットされます。
## 月見 唯
アイの本名は`月見 唯(つきみ ゆい)`。東の国、特有の名前で登録されています。
物語は最も発展している西の国で繰り広げられ、アイも最初はそこで登場しますが、出身は東の国です。
自らをアイと名乗り、名前を持たなかったアイですが、その後、登場人物たちとの関わりによって国籍を得ます。その際につけられた名前が`月見 唯`になります。
今では珍しく名字と名前が分かれていて、この世界ではほとんどの人が名前だけです。
例えば、ポンタ(西の国出身)もキョウスケ(東の国出身)も名字はありません。
> 西の国の大広間、身寄りのない子どもたちが一同に集められている。
>
> そこには色々なものが置かれていて、いくつもの絵が飾られていた。
>
> みんなキョロキョロと周りを見渡した。
>
> 天井は広く、ガラス張りになっていて、青空の中、雲が通り過ぎていく。
>
> アイは一人階段を登り、そこにあった絵に目を向けた。
>
> そこには大きな金色の円が描かれている。
>
> コツコツコツ...誰かが廊下を歩いてくる。
>
> 恰幅の良い老人が絵を見ているアイの横で止まり、同じように絵に目を向けた。
>
> しばらくして老人が口を開く。
>
> 老人「君は、この絵が気になるのかね」
>
> アイ「...」
>
> 老人「これは月見、という絵だよ。君、月はよくみるの?」
>
> アイ「ううん」
>
> アイはそう言って首を振った
>
> 老人「え、みたことない?」
>
> アイ「うん」
>
> 老人「そ、そうなの...」(幼い子にはそういうこともあるんじゃの...そういえば孫も初めて見たのはいつじゃったじゃろう)
>
> アイ「でも...」
>
> 老人「うん?なにか気になることでも?」
>
> アイ「これどこかで見たような...」
>
> 老人「ほっほっほ、そりゃ、忘れとるだけじゃろ。そのうち思い出す。では、わしはこれで」
>
> アイ「うん、またね」
>
> 老人(この子の名前は月見にするかの...いや、名字があったほうがしっくりくるかも。あとで調べてみるか)
老人はここの所長。ここは色々決まってない子どもたちの登録等を行っている機関の一つ。
## 月の秘密
月の起源はまだよくわかっていません。不思議なことがいくつかあります。
例えば、地球から見た月と太陽の大きさが同じことです。どちらも距離と倍率は395らしい。
もう一つは古代文明の石碑には、ある時代以前のものに月の記述がないことです。
古代文明の石碑には様々な事が書かれており、大洪水の話がいくつかあります。世界各国に残された洪水伝説。それより前は月が存在しません。
> 宇宙人であったアヌンナキは月を移動させて大洪水を起こし、失敗作をリセットしていた。地球上の生命体はこれで5作品目である。
>
> 4作品目は、トカゲ型の知的生命体。大洪水の際、地底に逃れた。アヌンナキという神に仕える監視官ギギアは反乱を起こし、4作品目の生命体を一部滅びから逃すことを選択する。
>
> 宇宙船はこのトカゲ型生命の乗り物であり、地底人の乗り物である。
月の内部は巨大な空洞があります。そして、その表面はチタンで構成されており、人工物の特徴があります。
物語として面白いのは月には何らかの秘密が隠されているという話なので、そういった話をモデルにします。
アイは人工物である月を取り込んだため、自らの質量を重力的にコントロールできるようになります。
## 物語の進行
物語は`貨幣` -> `言語` -> `宇宙`というテーマで進みます。
理由は、これらが人間社会において最も影響力を及ぼすものだからです。
その影響は作中のキャラクター達も受けることになります。特に物語の始まりでは、その影響は大きいでしょう。
### 1. 貨幣の章
オクトカットの地球侵略は失敗したものの、その文化は地球に輸入され、基軸通貨は西国通貨から`アム`へと切り替わります。
一般的にはアムが発行する宇宙通貨をアム・コイン、またはアムといいます。
アムは宇宙最大のコンピュータがあるとされる星の名前。
アムのコインは持ち主の心を数値化します。
多くの宇宙人はこの数値を使って色々なものを交換するようです。
### 2. 言語の章
不思議なパワーを持つアイ文字に切り替わります。
オクトカットが使っていた文字の秘密が明かされます。
物質の形をモデルにしたとされているアイ文字ですが、その起源は神代文字にあると考えられています。
### 3. 宇宙の章
物質とアイの謎が明らかになります。

View File

@ -0,0 +1,18 @@
+++
date = "2024-04-12T00:00:00+09:00"
tags = ["author"]
title = "世界の設定"
+++
シリアスな場面でも笑いを忘れずに。
そのような方向性で物語は進みます。
ここからは世界の設定、その裏側を紹介します。
作中の世界はどのようにできているのか、ということです。
この世界にも歴史があり、現実社会の史実に基づいて設計されています。
できる限り明るい世界観を描きます。

View File

@ -0,0 +1,247 @@
+++
date = "2024-05-01T00:00:00+09:00"
tags = ["author"]
title = "構成と参照"
+++
## 心と技
漫画で一番重要なのは`心``魂`と呼ばれるものです。これは現実でも同じ。
ただし、それだけで漫画が描けるかというと、それは違う。
では漫画はどのように書けばいいのだろうか。その答えとしては「好きに書けばいい」となる。
この答えも非常に難しい。
好きなものを好きに書かなければ面白くならないし、好きなものを好きに書くだけでは面白くならない。
例えば、嫌なものを嫌々書いても面白い作品ができるとは思えない一方、好き勝手書いて面白い作品ができるかというと、そうはならない。
つまり、漫画を書くのはけっこう大変ってこと。
でも好きじゃなければ続けるのは難しい。
だから、漫画を書くのが好きだったほうがいい。
それを現した言葉が先程の「好きに書けばいい」ということになる。
私は面白いものが書きたいと思っていて、それは、読んだ人を楽しませたいと思っているから。
じゃあ読んだ人を楽しませるにはどうすればいいのかというと、これはテクニック、つまり、技術の問題でもある。
まずは、感情があって、心がある。自分が伝えたいこと、それがある。それがないと、その人の話はつまらないと思う。
だから自分が伝えたいことをどう面白く絵で伝えるのか、それが漫画。
では、どうやったら面白く伝えられるのか。ここではじめて技術が関係してくる。
例えば、後述する陰と陽の考え方がある。陰と陽の混じり合いで物語は面白くなる。
私が好きな瞬間というのもいくつかあって、
敵が味方になる瞬間。一人だと思っていたら、沢山の人が支えてくれていたことがわかる瞬間。本当のことがわかった瞬間。心が通じた瞬間。
その瞬間、その一コマのために、たくさんの物語を積み重ねていくのだと思う。
## 陰と陽
物語において、主人公のライバルの存在は非常に重要。
例えば、この世界が陰と陽でできているという考えがある。
必ず反対のものが存在するなら、物語においてもそのルールに則らなければならない。
それがライバルの存在であり、ライバルの存在は物語を面白くするポイントだと思う。
ライバルで有名なのは、悟空とベジータ、ナルトとサスケなど。これらは主人公の敵と言ってもいい。
ベジータやサスケに嫌悪感を示す人もたくさんいて、あのようなキャラクターは出すべきではない、最終的に始末したほうがよかったという意見がある。
最終的にどうするかは好みの問題だと思うけど、これらの作品においては、陰のキャラクターが物語を面白くしていると言っても過言ではないので、それを取り除くというのは、あり得ない。
やはり面白い作品というのは、陽ばかりのキャラクターではなく、陽と陰、その混じり合いで面白くなるのだと思う。
ただし、最終的にどうするかについては、好みの問題だと思う。
例えば、アベンジャーズは、最終的に敵、陰を討ち滅ぼすことで完結している。
ここは日本とアメリカでどのように描くか傾向が異なると思う。私はどちらも好きだし、どちらも面白く作るのは可能だと思う。
## 八咫烏
縄文時代から弥生時代に移り、天皇が誕生、東国の建国に繋がります。これを神武東征物語という。
以前からいた民族と新しく入ってきた民族が融合していく過程を描いています。
以前からいた民族を出雲、新しく入ってきた民族を大和といいます。
思想や気質の全く異なる民族ですが、出雲の王であったアヂスキタカヒコネ(迦毛大御神)は出雲を裏切り、最終的には勝利者側に協力した後、`八咫烏`と名乗ります。
表向きは神武天皇が大和の都を支配する形になりましたが、裏では八咫烏が支配するようにもなりました。これは八咫烏が`裏天皇`と呼ばれる所以です。その血脈は今なお受け継がれています。
八咫烏の三本足は天、地、人を現し、3という数字は太陽を現しています。その後、陰陽の思想を広めたと言われています。八咫烏は組織名になり、正式名称は八咫烏陰陽道。
## 童話と神話
まずは、童話と神話の話をします。
あらゆる文化作品(創作物)は、有名な神話や童話が元になっていることがよくあります。
ドラゴンボールの孫悟空は、中国の西遊記を元に書かれていて、如意棒と筋斗雲を使います。
ナルトは主に日本神話を引用しています。ライバルであるサスケがアマテラスやツクヨミの技を使い、スサノオを召喚します。
例えば、進撃の巨人には「ユミル」が登場します。
北欧神話には以下のような話があります。
> ユミル(巨人)はオーディン達の三兄弟に殺され、死んだユミルの体から世界が作られていった
なぜ、神話や童話が引用されるのかというと、最も広まった物語だからでしょう。
## 不死
不死にはよく2つのパターンがある。
一つは若返り、もう一つは乗っ取りである。
不死を求めるのは不完全な存在の証明であり、完全な存在の証明でもある。
大抵のボスは不死を求める。
コナンに出てくる黒の組織のボスは、私の推測になるが、不死を求めている。ある薬品を開発していて、その試作品であるアポトーシスの名にちなんだ`アポトキシン4869`は、低確率だが人間を幼児化させることがある。この場合のアポトーシスは老化細胞の自殺に関係すると予想する。ボスが幼児化のことを把握しているかはわからない。どれだけの人間を犠牲にしてでもその薬を完成させるつもりらしい。だが、ベルモットは幼児化を把握しており、若返りを求めている。だから組織が薬を完成させる前に潰れてしまうと困るが、完成させたあとに組織が残るのも困るという微妙な立場だと思う。ベルモットにとって最も理想的なシナリオは、完成と同時に薬を横取りした後、コナンが組織をぶっ潰してくれることだと考えている。
## 終局
最後のボスは、とことんしつこい。
やっと倒したと思ったら、倒していない。
ボスにはボスになるだけの理由があり、器がある。
そのボスは主人公達の力と同じ。
どんな卑怯な手を使っても蘇り向かってくる。
力の差があまりに大きい場合は、主人公が負けることもあるだろう。
ただし、主人公は諦めない。勝つまでやめない。
負けてもパワーアップして悪に挑み、最後に勝つ。
ここらへんを描くのは大変かもしれない。他の作品を参考にするといい。
## 元素
元素はゲームによく登場する「属性」のモデルになっています。
例えば、`原神`というゲームには元素があり、キャラクターは火や水などの元素を使って戦います。
私が思うに、ゲームには物理学を引用する作品が多く、漫画には神話や童話を引用する作品が多いと感じます。
その理由の一つとして考えられるのが文系と理系です。もしかすると開発者には理系が多く、小説家には文系が多いのかもしれませんね。
## 予言
現実には様々な予言書があります。例えば、日月神示やアカシックレコードなど。
物語において、予言書というものは重要な意味を持ちます。
これらは、確定した未来を予言するものではありません。小さな物質世界からすると、それはありえないのです。なぜありえないかというと、例えば、量子の振る舞いから説明できます。
とはいえ、それは後述することにして、まずは予言書が確定した未来を述べるものではなく、願望を述べるものに過ぎないということです。
しかし、その願望も未来に影響し、未来を形作るものの一つです。
したがって、物語において、予言の存在というのは重要な意味を持ちます。
## 秘密
秘密はあったほうが物語は面白くなる傾向にあると思う。
最近の漫画はほとんどに秘密があって、それが最後まで明かされない。
例外はドラゴンボールで、この漫画はそこまで秘密がない。あったとしてもサラッと明かされる事が多い。
この作品は「ある秘密があってそれを探し求める」という感じではなく、機会があれば明かされる感じにしたいと思う。
秘密をそこまで物語の主要な部分に位置づけない方向で考えている。
最も小さいものはいつも目の前にあって、どこにでもあるものだから。
## 月
巨大彗星説は日本人の方がみた夢がモデルになっています。
> ある時、不思議な夢を見た。巨大彗星が太陽に向かって進む。水が蒸発し、地球に降り注ぐ。それが大洪水になった。残った彗星は地球の周りを回りだした。
月の内部は水であるという話があります。
ただし、定説として考えられているのは、地球の形成初期に巨大な星が衝突し、それが地球と月になったというものです。これをジャイアント・インパクト説といいます。
## 量子
アインシュタインは神はサイコロを振らないといい、あらゆるものの挙動は最初から決まっていると考えていました。つまり、この世界はすべて必然であるという考えを持っていました。
反対にボーンは神が何をなさるかなど注文をつけるべきではないといい、つまり、偶然であると考えました。
量子のもつれは、決まっていない状態がまずあり、片方が確定した瞬間、もう片方の状態も確定するというものです。
この点において、あらゆるものは最初から決まっていると考えたアインシュタインが間違いであったとも言えます。
## ニュートロニウム
存在しなかったはずの原子、原子番号0のニュートロニウムについて書きます。
原子は中性子と陽子のバランスが大切で、バランスが崩れると放射性崩壊が起こり、違う原子になります。
違う原子になるということは、観測が難しいということです。
では中性子だけで構成された原子は存在するのでしょうか。
答えとしては「一瞬だけ存在する」です。
それがニュートロニウムです。
現在、ニュートロニウムが最も多く存在する場所は中性子星の内部です。
中性子星の内部では電子が陽子に押しつぶされて中性子になり、電子と陽子の融合。ベータ崩壊が起こり、ニュートロニウムが生成されます。生成と消滅を繰り返しているのか、一つの原子が長く継続しているのかはわかりませんが、一見すると、内部はニュートロニウムで満たされているでしょう。
## メトシェラ
メトシェラ星というものがあります。これはビックバンが始まる前から存在したのではないかという意見もあるくらい古くから存在する星と言われています。
ビックバンは138億年前に起こったと計算されています。私はその計算は間違いだと考えていて、ビックバンが起こったのは200億年以上前です。
それを前提に話をしますが、メトシェラ星の誕生はビックバンの後です。
## プラネット・ナイン
ほぼ確実に存在すると言われている太陽系、第9の惑星、プラネット・ナイン。
その惑星の中心に連星の動きが確認されていますが、未だ発見されていません。
第9惑星は原始ブラックホールであるという説があります。大きさは1m未満。休眠ブラックホールは連星を作ることがあり、多くの星がブラックホールを中心に回ります。地球に最も近いブラックホールも連星です。
## アマテラス粒子
ブラックホールやマグネター、それに類似する天体の合体から放出されるオーマイゴッド粒子やアマテラス粒子は1グラムで地球を破壊するレベルのエネルギーを持ちます。
例えば、ブラックホールとブラックホールがぶつかると天体の一部が飛ばされて宇宙を飛来します。
惑星や粒子の多くは神話にちなんだ名前が付けられています。これについては`宇宙`の章で語られるかもしれません。
## オクトカットのモデル
githubの`octocat`です。
- ref : [github/octocat](https://github.com/octocat)
## トロン
ケンという人物によって開発されたトロンというOSがあります。
東国は縄文時代以降、貨幣も言語も西国のものに置き換えられてしまいますが、このOSも同じような運命をたどります。
しかし、その後、世界に広まり最も使われるOSになります。

View File

@ -5,16 +5,14 @@ date = "2024-01-22"
aliases = ['manga']
+++
<div class="story">
不思議な力を持つアイの冒険。
地球で暮らしていたアイだったが、訳あって他の星で暮らし始めた
ドラゴンのドライがついてきた。
</div>
アイはその世界で最も小さい物質に影響を与える能力を持つ
<iframe src="https://manga.syui.ai" allowfullscreen frameborder="0" class="manga"></iframe>
`番外編`ではガララ星でドラゴンと暮らす話。
<!--more-->
https://manga.syui.ai

View File

@ -1,12 +0,0 @@
+++
title = "term"
slug = "term"
date = "2023-12-23"
+++
<iframe src="https://term.syui.ai" allowfullscreen frameborder="0" scrolling="no" style="width:100%;"></iframe>
<!--more-->
https://term.syui.ai

View File

@ -12,9 +12,9 @@
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #990000; text-decoration: none;}
a { color: #313131; text-decoration: none;}
a:hover { color: #4183c4;}
a:hover { color: #fff700;}
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
@ -40,12 +40,12 @@
color: #ccc;
}
span.icon-phoenix-world{
font-size: 50px;
}
span.icon-ai {
font-size: 50px;
}
</style>
<link rel="stylesheet" href="/bower_components/icomoon/css/icomoon.css" />
<link rel="stylesheet" href="https://syui.ai/bower_components/icomoon/style.css" />
</head>
<body>
@ -54,11 +54,10 @@ span.icon-phoenix-world{
<h1>404</h1>
<div id="suggestions">
</div>
<a href="/">
<span class="icon-phoenix-world"></span>
<span class="icon-ai"></span>
</a>
</div>

View File

@ -1,6 +1,7 @@
{{ partial "head.html" . }}
{{ partial "head-blog.html" . }}
{{ partial "navbar.html" . }}
{{ partial "header.html" . }}
<div id="container">
<div class="outer">
<div id="blog-archives" class="category">
@ -8,13 +9,17 @@
{{ range .Data.Pages.Reverse }}
<li class="blog-list-first">
<a href="{{.Permalink}}">{{.Title}}</a> <span class="blog-date">{{ .Date.Local.Format "2006-01-02" }}</span>
{{ with .Params.tags }}{{ range . }}<button class="tag"><a href="/tags/{{ . }}/">{{ . }}</a>{{ end }}</button>{{ end }}
</li>
{{ end }}
</ul>
</div>
</div>
</div>
</div>
{{ partial "footer" . }}
{{ partial "particles.html" . }}
{{ partial "footer" . }}
</body>
</html>

View File

@ -1,16 +1,36 @@
{{ partial "head.html" . }}
{{ partial "head-blog.html" . }}
{{ partial "navbar.html" . }}
{{ partial "header.html" . }}
<article>
<div class="content">
{{ if ne .Lastmod .Date }}<div class="post-time-date">{{ .Lastmod.Format "2006-01-02" }}</div>{{ end }}
<h2>{{ .Title }}</h2>
<div class="post-time-date">
{{ if ne .Lastmod .Date }}
<p>{{ .Lastmod.Format "2006-01-02" }}</p>
{{ end }}
{{ $taxo := "tags" }}
{{ with .Param $taxo }}
<p><i class="fa-regular fa-folder"></i> {{ if gt (len .) 1 }}{{ end }}
{{ range $index, $director := . }}
{{- if gt $index 0 }}, {{ end -}}
{{ with $.Site.GetPage (printf "/%s/%s" $taxo $director) -}}
<a href="{{ .Permalink }}">{{ $director }}</a>
{{ end }}
{{ end }}
{{ end }}
</div>
<h1>{{ .Title }}</h1>
{{ .Content }}
</div>
</article>
{{ partial "next.html" . }}
{{ partial "comment.html" . }}
</div>
{{ partial "particles.html" . }}
{{ partial "footer.html" . }}
</body>
</html>

View File

@ -1,8 +1,8 @@
{{ partial "head.html" . }}
<link rel="stylesheet" href="/css/img.css" />
{{ partial "head-blog.html" . }}
{{ partial "navbar.html" . }}
{{ partial "header.html" . }}
<div class="content">
<h1>{{ .Title }}</h1>
{{ with .Resources.Match "book_*.png" }}
{{ range $index, $val := . }}
<p><a href="https://syui.booth.pm/items/4938622"><img src="{{ .RelPermalink }}"></a></p>

View File

@ -1,15 +1,15 @@
{{ partial "head.html" . }}
{{ partial "head-blog.html" . }}
{{ partial "navbar.html" . }}
{{ partial "header.html" . }}
{{ .Content }}
<hr />
<article>
<div class="content">
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ with .Resources.Match "*.webp" }}
<div class="top-card">
<p>
{{ range sort . }}
{{ range first 15 . }}
<img src="{{ .RelPermalink }}">
{{ end }}
</p>

View File

@ -1,8 +1,20 @@
{{ partial "head.html" . }}
{{ partial "navbar.html" . }}
{{ partial "header.html" . }}
{{ partial "content.html" . }}
{{ partial "sns.html" . }}
</div>
<div class="stars">
<!--
{{ partial "content.html" . }}
{{ partial "particles.html" . }}
{{ partial "nasa.html" . }}
{{ partial "galaxy.html" . }}
-->
{{ partial "star.html" . }}
</div>
{{ partial "footer.html" . }}
</body>
</html>

24
layouts/item/single.html Normal file
View File

@ -0,0 +1,24 @@
{{ partial "head-blog.html" . }}
{{ partial "navbar.html" . }}
{{ partial "header.html" . }}
<article>
<div class="content">
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ with .Resources.Match "*.jpg" }}
<div class="top-item">
<p>
{{ range . }}
<img src="{{ .RelPermalink }}">
{{ end }}
</p>
</div>
{{ end }}
</div>
</article>
</div>
{{ partial "footer.html" . }}
</body>
</html>

View File

@ -0,0 +1 @@
<iframe src="https://stars.chromeexperiments.com/" allowfullscreen frameborder="0" style="width:100%;height:700px;"></iframe>

View File

@ -0,0 +1,6 @@
<link href="https://syui.ai/js/comment/app.js" rel="preload" as="script">
<link href="https://syui.ai/js/comment/chunk-vendors.js" rel="preload" as="script">
<div id="comment"></div>
<script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script>
<script src="https://syui.ai/js/comment/chunk-vendors.js"></script>
<script src="https://syui.ai/js/comment/app.js"></script>

View File

@ -1,4 +1,6 @@
<div id="container">
<div class="outer">
<div id="blog-archives" class="category">
<ul class="cp_list">
@ -7,24 +9,27 @@
{{ if or (eq $t "blog") }}
<li class="top">
<a href="{{.Permalink}}">blog</a> <a class="li-link-left" href="{{ .Site.BaseURL }}/blog/index.xml"><i class="fa-solid fa-rss"></i></a>
<a href="{{.Permalink}}">{{ $t }}</a> <a class="li-link-left" href="{{ .Site.BaseURL }}/{{ $t }}/index.xml"><i class="fa-solid fa-rss"></i></a>
</li>
{{ range $index,$value := (where $.Site.RegularPages.ByDate "Section" $t) }}
{{ range $index,$value := (where $.Site.RegularPages.ByDate.Reverse "Section" "blog") }}
{{ if lt $index 1 }}
<li class="blog-list-first" style="display:block;"> <a href="{{.Permalink}}">{{.Title}}</a> <span class="blog-date">{{ .Date.Local.Format "2006-01-02" }}</span> </li>
{{ if lt $index 3 }}
<li class="blog-list-first" style="display:block;"> <a href="{{.Permalink}}">{{.Title}}</a> <span class="blog-date">{{ .Date.Local.Format "2006-01-02" }}</span>
{{ with .Params.tags }}{{ range . }}<button class="tag"><a href="/tags/{{ . }}/">{{ . }}</a>{{ end }}</button>{{ end }}
</li>
{{ else }}
<li class="blog-list-all" style="display:none;"> <a href="{{.Permalink}}">{{.Title}}</a> <span class="blog-date">{{ .Date.Local.Format "2006-01-02" }}</span> </li>
<li class="blog-list-all" style="display:none;"> <a href="{{.Permalink}}">{{.Title}}</a> <span class="blog-date">{{ .Date.Local.Format "2006-01-02" }}</span>
{{ with .Params.tags }}{{ range . }}<button class="tag"><a href="/tags/{{ . }}/">{{ . }}</a>{{ end }}</button>{{ end }}
</li>
{{ end }}
{{ end }}
<li class="blog-menu"><button onclick="blog_list_open();"><i class="fa-solid fa-angle-down"></i></button></li>
{{ end }}
{{ if or (eq $t "chara") (eq $t "story") (eq $t "card") (eq $t "vrm") }}
<li class="commit">
<span class="icon-moji_a"></span>
<a href="#header"><span class="icon-moji_a"></span></a>
</li>
<li class="top">
@ -36,20 +41,20 @@
{{ .Summary }}
{{ end }}
{{ end }}
{{ end }}
<li class="commit">
<span class="icon-moji_a"></span>
<!--
<i class="fa-solid fa-code-branch"></i>
<i class="fa-solid fa-code-commit"></i>
<i class="fa-solid fa-code-merge"></i>
-->
<a href="#header"><span class="icon-moji_a"></span></a>
</li>
</ul>
</div>
</div>
</div>
{{ partial "contribution.html" . }}
{{ partial "link.html" . }}
</div>

View File

@ -0,0 +1,32 @@
<script type="text/javascript" src="https://syui.ai/bower_components/d3/d3.min.js"></script>
<script type="text/javascript" src="https://syui.ai/bower_components/cal-heatmap/cal-heatmap.min.js"></script>
<link rel="stylesheet" href="https://syui.ai/bower_components/cal-heatmap/cal-heatmap.css" />
<div id="example-b"></div>
<script type="text/javascript">
var currentTime = new Date();
var year = currentTime.getFullYear()
var cal = new CalHeatMap();
cal.init({
itemSelector: "#example-b",
domain: "month",
data: "https://syui.ai/json/cal.json",
start: new Date(year, 0),
cellSize: 9,
range: 13,
legendColors: ["#fff700", "#817d01"],
previousSelector: "#example-b-PreviousDomain-selector",
nextSelector: "#example-b-NextDomain-selector",
legend: [2, 4, 6, 8],
});
</script>
<style>
div#example-b{
background: #f1f1f1;
margin-right: auto;
margin-left: auto;
}
.cal-heatmap-container {
width: 100%;
}
</style>

View File

@ -0,0 +1 @@
<footer class="footer">© <a href="https://syui.ai">syui</a></footer>

View File

@ -1 +1,12 @@
<div class="footer-qr">
<a href="/"><span class="footer-link"><img src="/qr.svg"></span></a>
</div>
<div class="footer-link">
<span class="footer-link"><a href="https://bsky.app/profile/yui.syui.ai" target="_blank"><i class="fab fa-bluesky"></i></a></span>
<span class="footer-link"><a href="https://card.syui.ai/ai" target="_blank"><span class="icon-ai"></span></a></span>
<span class="footer-link"><a href="https://git.syui.ai/ai" target="_blank"><span class="icon-git"></span></a></span>
<!--
<span class="footer-link"><a href="https://syui.ai/" target="_blank"><span class="icon-syui"></span></a></span>
-->
</div>
<footer id="footer">© <a href="https://syui.ai">syui</a></footer>

View File

@ -0,0 +1,4 @@
<iframe src="/pkg/galaxy/?star=fff700&in=fff700&out=fff700&bg=0x000000" allowfullscreen frameborder="0" style="width:100%;height:600px;"></iframe>
<!--
<iframe src="/pkg/galaxy/" allowfullscreen frameborder="0" style="width:100%;height:700px;"></iframe>
-->

View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html>
<head>
<title>{{ .Title }}</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="author" content="{{ .Site.Params.Author }}" />
<meta name="copyright" content="© {{ .Site.Params.Author }}" />
<meta name="description" content="ai" />
<meta name="keywords" content="ai" />
<meta name="robots" content="all" />
<meta name="googlebot" content="all" />
<meta property="og:type" content="website" />
<meta property="og:title" content="{{ .Title }}" />
<meta property="og:locale" content="ja_JP" />
<meta property="og:description" content="{{ if .Description }}{{ .Description }}{{ else }}© syui{{ end }}" />
<meta property="og:image" content="{{ .Site.BaseURL }}/og.png" />
<meta property="og:url" content="{{ .Permalink }}" />
<meta property="og:site_name" content="{{ .Title }}" />
<link rel="icon" href="/icon/ai.png" />
<link rel="shortcut icon" href="/icon/ai.png" />
<link rel="apple-touch-icon" href="/icon/apple-touch-icon.png" />
<link rel="stylesheet" href="/css/style.css" />
<link rel="stylesheet" href="/css/blog.css" />
<link rel="stylesheet" href="/css/svg.css" />
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"name": "{{ .Title }}",
"url": "{{ .Site.BaseURL }}"
}
</script>
<script src="/js/index.js"></script>
{{ range .AlternativeOutputFormats -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end -}}
<link rel="stylesheet" href="https://syui.ai/bower_components/icomoon/style.css" />
<link rel="stylesheet" href="https://syui.ai/bower_components/font-awesome/css/all.min.css" />
</head>

View File

@ -5,8 +5,8 @@
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="author" content="{{ .Site.Author.name }}" />
<meta name="copyright" content="© {{ .Site.Author.name }}" />
<meta name="author" content="{{ .Site.Params.Author }}" />
<meta name="copyright" content="© {{ .Site.Params.Author }}" />
<meta name="description" content="ai" />
<meta name="keywords" content="ai" />
<meta name="robots" content="all" />
@ -14,17 +14,15 @@
<meta property="og:type" content="website" />
<meta property="og:title" content="{{ .Title }}" />
<meta property="og:locale" content="ja_JP" />
<meta property="og:description" content="{{ if .Description }}{{ .Description }}{{ else }}ai{{ end }}" />
<meta property="og:image" content="{{ .Site.BaseURL }}/icon/ai.png" />
<meta property="og:url" content="{{ .Site.BaseURL }}" />
<meta property="og:description" content="{{ if .Description }}{{ .Description }}{{ else }}© syui{{ end }}" />
<meta property="og:image" content="{{ .Site.BaseURL }}/og.png" />
<meta property="og:url" content="{{ .Permalink }}" />
<meta property="og:site_name" content="{{ .Title }}" />
<link rel="icon" href="/icon/ai.png" />
<link rel="shortcut icon" href="/icon/ai.png" />
<link rel="apple-touch-icon" href="/icon/apple-touch-icon.png" />
<link rel="stylesheet" href="/css/style.css" />
<link rel="stylesheet" href="/css/svg.css" />
<link rel="stylesheet" href="/pkg/icomoon/css/icomoon.css" />
<link rel="stylesheet" href="/pkg/font-awesome/css/all.min.css" />
<script type="application/ld+json">
{
"@context": "http://schema.org",
@ -33,11 +31,11 @@
"url": "{{ .Site.BaseURL }}"
}
</script>
<script src="/pkg/hotkeys-js/dist/hotkeys.min.js"></script>
<script src="/pkg/hotkeys-js/dist/terminal.js"></script>
<script src="/js/index.js"></script>
{{ range .AlternativeOutputFormats -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end -}}
<link rel="stylesheet" href="https://syui.ai/bower_components/icomoon/style.css" />
<link rel="stylesheet" href="https://syui.ai/bower_components/font-awesome/css/all.min.css" />
</head>

View File

@ -1,50 +1,34 @@
<body>
<div class="containerx">
{{ $s := path.Dir (.Permalink | relURL) }}
{{ $t := index (split $s "/") 2 }}
{{ $o := index (split $s "/") 1 }}
<header id="header">
<div class="logo">
{{ partial "svg.html" . }}
</div>
</header>
{{ if eq $o ""}}
<div class="hotkeys-docs">
<table>
<tbody>
<tr>
<td><code>ctrl</code> + <code>enter</code></td>
</tr>
</tbody>
</table>
{{ $s := path.Dir (.Permalink | relURL) }}
{{ $t := index (split $s "/") 2 }}
{{ $o := index (split $s "/") 1 }}
<header id="header">
<div class="logo">
{{ partial "svg.html" . }}
{{ if eq $o "" }}
{{ partial "term.html" . }}
{{ end }}
</div>
</header>
<div class="containerx">
{{ if eq $o "" }}
<span class="menu-right-top">
<!--
<a class="menu-link-left" href="/bitcoin"><i class="fa-brands fa-bitcoin"></i></a>
<a class="menu-link-left" href="/bitcoin"><i class="fa-brands fa-bitcoin"></i></a>
-->
<!--
<div id=app></div>
<script src=/bitcoin/chunk-vendors.js></script>
<script src=/bitcoin/app.js></script>
-->
<a class="menu-link-left-black" href="https://card.syui.ai/ai"><i class="fa-solid fa-copy"></i></a>
<a class="menu-link-left-black" href="https://manga.syui.ai"><i class="fa-regular fa-comment-dots"></i></a>
<a class="menu-link-left-black" href="https://vrm.syui.ai"><i class="fa-solid fa-cube"></i></a>
<a class="menu-link-left-black" href="https://term.syui.ai"><span class="icon-aiterm"></span></a>
<a class="menu-link-left-black" href="https://git.syui.ai/ai"><span class="icon-git_bg"></span></a>
<!--
<a class="menu-link-left-black" href="https://git.syui.ai/ai/ue"><i class="fa-solid fa-gamepad"></i></a>
<a class="menu-link-left-black" href="/term"><i class="fa-solid fa-terminal"></i></a>
<a class="menu-link-left-black" href="https://web.syu.is/profile/ai.syu.is"><i class="fa-brands fa-bluesky"></i></a>
-->
<div id=app></div>
<script src=/bitcoin/chunk-vendors.js></script>
<script src=/bitcoin/app.js></script>
-->
<a class="menu-link-left-black" href="https://card.syui.ai/ai"><span class="icon-card"></span></a>
<a class="menu-link-left-black" href="https://manga.syui.ai"><span class="icon-book"></span></a>
<a class="menu-link-left-black" href="https://vrm.syui.ai"><span class="icon-game"></span></a>
<a class="menu-link-left-black" href="https://term.syui.ai"><span class="icon-aiterm"></span></a>
<a class="menu-link-left-black" href="https://git.syui.ai/ai"><span class="icon-git"></span></a>
<a class="menu-link-left-black" href="/private"><i class="fa-solid fa-list"></i></a>
</span>
{{ end }}

View File

@ -0,0 +1,8 @@
<div class="sns-link">
<p>
<i class="fa-brands fa-bluesky"></i> <a href="https://bsky.app/profile/yui.syui.ai" target="_blank" class="bluesky-icon">@yui.syui.ai</a>
</p>
<p>
<span class="icon-git"></span> <a href="https://git.syui.ai/ai" target="_blank" class="bluesky-icon">@git.syui.ai:ai</a>
</p>
</div>

View File

@ -0,0 +1,8 @@
<div class="nasa">
<iframe src="https://eyes.nasa.gov/apps/solar-system/#/sun/distance" allowfullscreen frameborder="0" style="width:100%;height:700px;"></iframe>
</div>
<!--
https://eyes.nasa.gov/apps/solar-system/#/story/voyager_grand_tour?slide=slide_2
<iframe src="https://eyes.nasa.gov/apps/solar-system/#/sun/distance?to=earth" allowfullscreen frameborder="0" style="width:100%;height:700px;"></iframe>
-->

View File

@ -3,13 +3,19 @@
<div class="navbar-nav">
<span class="navbar-title-text"><a href="/"><span class="icon-ai"></span></a></span>
<div class="navbar-nav-left">
<a class="navbar-brand" href="/story">ストーリー</a>
<!--
<a class="navbar-brand" href="/chara">キャラクター</a>
<a class="navbar-brand" href="/story">ストーリー</a>
<a class="navbar-brand" href="/card">カード</a>
<a class="navbar-brand" href="/blog">ブログ</a>
<a class="navbar-brand" href="/item">アイテム</a>
-->
</div>
</div>
<div class="navbar-nav-right">
<!--
<a class="menu-link-left" href="https://syui.fanbox.cc/shop" target="_blank"><i class="fa-solid fa-bag-shopping"></i></a>
-->
<a class="menu-link-left" href="https://bsky.app/profile/yui.syui.ai" target="_blank"><i class="fa-brands fa-bluesky"></i></a>
</div>
</div>

View File

@ -0,0 +1,16 @@
<nav id="article-nav">
<div class="previnsection">
<!--
{{ if .PrevInSection }}
<p><i class="fa-solid fa-circle-chevron-left"></i> <a href="{{ .PrevInSection.Permalink }}" id="article-nav-older" class="article-nav-link-wrap">
{{ .PrevInSection.Title }}
</a></p>
{{ end }}
-->
{{ if .NextInSection }}
<p><i class="fa-solid fa-circle-chevron-right"></i> <a href="{{ .NextInSection.Permalink }}" id="article-nav-newer" class="article-nav-link-wrap">
{{ .NextInSection.Title }}
</a></p>
{{ end }}
</div>
</nav>

View File

@ -0,0 +1,25 @@
<script>
function sun_open() {
var n = document.querySelectorAll(".nasa");
var index = 0, length = n.length;
for ( ; index < length; index++) {
if (n[index].style.display == 'block') {
n[index].style.display = 'none';
} else {
n[index].style.display = 'block';
}
}
}
</script>
<link rel="stylesheet" href="/pkg/particles/particles.css" />
<div class="sun">
<div class="sun-button">
<img id="sun-img-button" src="/icon/sun.svg" onclick="sun_open()">
</div>
<div class="sun-particles">
<div id="particles-js"></div>
</div>
</div>
<script src="/pkg/particles/particles.min.js"></script>
<script src="/pkg/particles/config.js"></script>

18
layouts/partials/sns.html Normal file
View File

@ -0,0 +1,18 @@
<div id="container">
<div class="outer">
<div class="sns-message">
<img src="/icon/avatar.png">
<p>hello, ai ! <a href="https://git.syui.ai/ai/bot">bot</a> written in rust, it runs on an arch based <a href="https://git.syui.ai/ai/os">aios</a>.</p>
<p>there is an original story and a game.</p>
</div>
<div class="hotkeys-docs">
<table>
<tbody>
<tr>
<td class="bg"><code>ctrl</code> + <code>enter</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>

View File

@ -0,0 +1 @@
<iframe src="/pkg/solar/" allowfullscreen frameborder="0" style="width:100%;height:700px;"></iframe>

View File

@ -0,0 +1,2 @@
<iframe src="https://card.syui.ai/planet?ms=0&g=moon" allowfullscreen frameborder="0" style="width:95%;height:600px;" id="planet"></iframe>
<script src="/js/index.js"></script>

View File

@ -7,8 +7,3 @@
</div>
</div>
</div>
<div id="aiterm" style="display:none;">
<iframe src="https://term.syui.ai" allowfullscreen frameborder="0" style="width:100%;height: 400px;" id="terminal-input"></iframe>
</div>

View File

@ -0,0 +1,16 @@
<div id="aiterm" style="display:none;">
<link rel="stylesheet" href="https://term.syui.ai/term/pkg/jquery.terminal/css/jquery.terminal.css" />
<link rel="stylesheet" href="https://term.syui.ai/term/css/terminal.css" />
<script src="https://term.syui.ai/term/pkg/jquery.ajax/jquery.min.js"></script>
<script src="https://term.syui.ai/term/pkg/axios/dist/axios.min.js"></script>
<script src="https://term.syui.ai/term/pkg/jquery.terminal/js/jquery.terminal.min.js"></script>
<script src="https://term.syui.ai/term/pkg/jquery.terminal/js/jquery.mousewheel-min.js"></script>
<script src="https://term.syui.ai/term/js/terminal.js"></script>
<app></app>
<script src="https://term.syui.ai/term/js/bundle.js"></script>
<script src="https://term.syui.ai/term/pkg/hotkeys-js/dist/hotkeys.min.js"></script>
<script src="https://term.syui.ai/term/pkg/hotkeys-js/dist/terminal.js"></script>
<!--
<iframe src="https://term.syui.ai" allowfullscreen frameborder="0" style="width:100%;height: 400px;" id="terminal-input"></iframe>
-->
</div>

View File

@ -1,17 +1,15 @@
## <img src="./static/icon/ai.png" width="30"> ai `web`
# <img src="./static/icon/ai.png" width="30"> ai `web`
`ai/web` page is `hugo` deploy.
### ref
#### origin
## origin
- [ai/term](https://git.syui.ai/ai/term)
- [ai/card](https://git.syui.ai/ai/manga)
- [ai/vrm](https://git.syui.ai/ai/vrm)
- [ai/manga](https://git.syui.ai/ai/manga)
#### build & deploy
## build & deploy
- [hugo](https://github.com/gohugoio/hugo)
- [gh-pages](https://docs.github.com/pages)
@ -19,8 +17,15 @@
- [gh-actions](https://docs.github.com/actions)
- [ge-actions](https://docs.gitea.com/usage/actions/overview)
#### packages
## packages
- [icomoon](https://icomoon.io/app/#/select)
- [fontawesome](https://github.com/FortAwesome/Font-Awesome)
- [font-awesome](https://github.com/FortAwesome/Font-Awesome)
- [hotkeys-jp](https://github.com/jaywcjlove/hotkeys-js)
- [particles.js](https://github.com/VincentGarreau/particles.js)
## ref
- [galaxy](https://github.com/the-halfbloodprince/GalaxyM1199)
- [solar-sys](https://github.com/solarcg/SolarSys)

View File

BIN
static/card/0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
static/card/0.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
static/card/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 KiB

BIN
static/card/1.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

BIN
static/card/10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 KiB

BIN
static/card/10.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

BIN
static/card/11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 KiB

BIN
static/card/11.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

BIN
static/card/12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 KiB

BIN
static/card/12.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
static/card/13.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

BIN
static/card/13.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
static/card/14.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 KiB

BIN
static/card/14.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

BIN
static/card/15.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

BIN
static/card/15.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
static/card/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
static/card/2.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
static/card/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 KiB

BIN
static/card/3.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
static/card/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 KiB

BIN
static/card/4.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
static/card/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 KiB

BIN
static/card/5.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
static/card/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 KiB

BIN
static/card/6.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

BIN
static/card/7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 KiB

BIN
static/card/7.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
static/card/8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

BIN
static/card/8.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
static/card/9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 KiB

BIN
static/card/9.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

14
static/css/blog.css Normal file
View File

@ -0,0 +1,14 @@
.containerx {
padding: 100px 250px;
width: auto;
}
.sun-button {
display: none;
}
@media screen and (max-width:1000px) {
.containerx {
padding: 0;
}
}

7
static/css/nasa.css Normal file
View File

@ -0,0 +1,7 @@
span.story-related-list {
display: none;
}
#story-list{
display:none;
}

View File

@ -1,6 +1,6 @@
body {
display:block;
background-color: #f1f1f1;
background-color: #313131;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
width:100%;
margin:0;
@ -30,7 +30,6 @@ p {
font-size: 5rem;
}
.logo {
margin: 35px 0;
text-align:center;
}
.containerx {
@ -40,22 +39,74 @@ p {
word-wrap: break-word;
word-break: break-all;
}
article {
padding: 40px;
background: #fff;
}
.stars {
background: #313131;
text-align: center;
}
.footer-link {
font-size: 20px;
padding: 100px 0 0 0;
text-align: center;
background: #313131;
}
span.footer-link a span.icon-git {
font-size: 20px;
}
span.footer-link a span.icon-syui {
font-size: 20px;
}
span.footer-link a span.icon-ai {
font-size: 20px;
}
span.footer-link a {
padding: 10px;
color: #fff700;
}
span.footer-link a:hover {
color: #ddd700;
}
footer.footer a {
color: #fff700;
}
footer#footer {
margin-top:100px;
text-align: center;
height:60px;
padding-top:100px;
padding-top:40px;
color: #fff700;
font-size: 20px;
background-color:#313131;
position: relative;
}
footer#footer a {
color: #fff700;
}
.containerx p img {
img {
width: 100%;
}
.content p img {
text-align: center;
margin: 0 auto;
width: 400px;
display: block;
}
article p img {
width: 100%;
}
@ -95,13 +146,7 @@ span.green {
h3 {
margin-bottom: 4px;
}
blockquote {
background: #fff;
margin: 0px;
padding: 20px;
font-size: 17px;
}
nav#article-nav {
@ -109,8 +154,8 @@ nav#article-nav {
}
ul {
list-style-type: none;
display: list-item;
list-style-type: none;
display: list-item;
}
ul.cp_list {
@ -132,17 +177,7 @@ ul.cp_list li > p > a {
ul.cp_list li > span.icon-moon {
color: #0e0e0e;
}
.footer-link > a > i.fab.fa-twitter {
color: rgba(52 135 236);
}
.footer-link > a > i.fab.fa-github {
color: rgba(1 1 1);
}
.footer-link > a > i.fas.fa-rss {
color: #f4a316;
font-size: 23px;
}
i.fa-brands.fa-slack {
color: #b8cfe0;
}
@ -162,17 +197,6 @@ a.matrix-icon {
bottom: 4px;
}
.footer-link > a > span.icon-ai {
font-size:25px;
color: #beb801;
margin:10px;
}
.footer-link > a > span.icon-api {
font-size:25px;
margin:10px;
}
h3 span.icon-phoenix-world {
font-size: 0.8em;
}
@ -198,17 +222,16 @@ pre > code {
letter-spacing: 0;
}
.footer-link {
font-size:30px;
text-align: center;
}
.footer-link > a > i {
padding:9px;
h1 {
font-size: 24px;
line-height: 2.5rem;
padding:2rem 0;
}
h2 {
font-size: 20px;
line-height: 2rem;
padding-bottom:2rem;
padding:2rem 0;
}
span.tag {
@ -240,19 +263,6 @@ ins.adsbygoogle {
padding:15px 0 15px 0;
}
.footer-link > a > i.fab.fa-mastodon {
color:#945ecd;
}
.footer-link > a > i.fab.fa-git-alt {
color:#4cae2e;
}
.footer-link > a > span.icon-home {
font-size: 27px;
padding: 7px;
}
.moji p img {
width: 128px;
}
@ -282,7 +292,7 @@ span.menu-right-top {
.vrm {
display: none;
text-align: center;
overflow: hidden;
overflow: hidden;
}
.vrm iframe {
@ -324,6 +334,7 @@ span.menu-right-top div#app {
div#container {
background-color: #fff;
margin-bottom: 100px;
}
.story {
@ -353,40 +364,31 @@ iframe.manga {
}
header#header {
background-color: #313131;
position: relative;
background: linear-gradient(#313131, #313131);
}
#minimap {
display: none;
}
.top-card {
margin:0 auto;
text-align: center;
}
.top-card p img {
width:80px;
padding:1px;
display: inline;
}
@media screen and (max-width:1000px) {
html {
font-size: 100%;
}
.logo span.icon-phoenix-world{
font-size: 60px;
font-size: 6rem;
}
.containerx {
width: auto;
margin: 0 15px;
font-size:18px;
word-wrap: break-word;
word-break: break-all;
}
.vrm iframe {
width:100%;
}
.top-item p img {
width:100%;
padding:1px;
display: inline;
}
.nav {
display: -ms-flexbox;
display: flex;
@ -444,8 +446,8 @@ header#header {
border-color: #dee2e6 #dee2e6 #fff;
}
.navbar-nav-right > a > img {
width:20px;
padding:5px;
width:20px;
padding:5px;
}
.nav-tabs .dropdown-menu {
@ -494,7 +496,7 @@ header#header {
}
nav.navbar.navbar-expand-lg.navbar-light.bg-light{
border-bottom: solid 1px #fff;
border-bottom: solid 1px #fff700;
background: #313131;
}
@ -898,11 +900,11 @@ a:hover > .navbar-light .navbar-brand {
}
.navbar-nav-right a span.icon-syui {
font-size: 33px;
font-size: 33px;
}
.navbar-nav-right a span.icon-ai {
font-size: 33px;
font-size: 33px;
}
.navbar-nav-right > a > i {
@ -1016,9 +1018,6 @@ span.icon-ai {
color: #fff700;
}
span.navbar-title-text > a span.icon-ai {
}
.top-menu {
margin: 50px 0px 20px 0px;
}
@ -1033,16 +1032,16 @@ span.navbar-title-text > a span.icon-ai {
}
i.fa-brands.fa-unity {
color: #fff700;
color: #fff700;
}
i.fa-brands.fa-git-alt {
color: #fff700;
color: #fff700;
}
model-viewer {
width: 100%;
height: 400px;
width: 100%;
height: 400px;
}
table {
@ -1119,23 +1118,258 @@ li.blog-menu button:hover {
border-radius: 4px;
}
a.menu-link-left-black span.icon-aiterm {
color: #fff700;
}
a.menu-link-left-black span.icon-git_bg {
a.menu-link-left-black {
color: #fff700;
}
li.commit {
background-color: #f1f1f1;
padding: 40px;
font-size: 25px;
text-align: center;
color: #fff;
background-color: #f1f1f1;
padding: 60px;
font-size: 30px;
text-align: center;
color: #fff;
}
li.commit a {
color: #fff;
}
li.commit a:hover {
transition: 1.0s ;
color: #313131;
}
a.li-link-left {
float: right;
padding-right: 20px;
float: right;
padding-right: 20px;
}
button.tag {
float: right;
border:none;
background-color: #f1f1f1;
}
li.commit a span.icon-moji_a {
font-size: 30px;
}
blockquote {
background: #f1f1f1;
padding: 20px;
margin: 20px 0;
}
.pager {
margin:100px 0;
width:100%;
text-align: center;
padding: 30px 0;
background: #313131;
}
.pager a {
color: #fff700;
}
a.menu-link-left-black:hover {
color: #b6b000;
}
span.comment-time {
float: right;
padding: 0 5px 0 5px;
color: #999;
}
span.comment-time a {
color: #999;
}
span.comment-time a:hover {
color: rgb(16, 131, 254);
}
span.comment-handle {
padding: 0 5px 0 5px;
position: absolute;
}
span.comment-handle a {
color: #313131;
}
img.comment {
width:60px;
}
p.comment-body {
border-bottom: solid 1px #eee;
padding: 20px;
}
span.comment-text {
padding:10px;
}
button.comment_open {
padding:20px 40px 20px 40px;
background-color: rgba(184,207,224,.24);
border: none;
margin:0;
}
button.comment_open:hover {
color: rgb(16, 131, 254);
}
.comment_open {
text-align: center;
width: 100%;
}
.comment_open p a {
color: rgb(16, 131, 254);
}
.bsky_comment {
background-color: #fff;
margin: 0px auto;
border: solid 1px #eee;
}
.bsky_comment_embed {
background-color: #fff;
width: 600px;
margin: 0px auto;
}
.comment {
background-color: #fff;
}
.loading {
background:#f1f1f1;
padding:25px;
}
.loading_none {
background:#f1f1f1;
padding:50px;
}
.bluesky-embed {
text-align: center;
margin: 0 auto;
}
.outer p {
padding: 30px;
}
.outer h2 {
padding: 30px;
}
.sns-link {
background: #fff;
margin: 50px 0;
padding: 30px;
}
.nasa {
display: none;
}
.sun-button {
position: absolute;
margin: 0 auto;
text-align: center;
width: 100%;
}
.sun-particles {
display: block;
}
.sun-button img {
width: 50px;
margin: 40% 0 0 0;
-webkit-transition: 0.8s;
-moz-transition: 0.8s;
-o-transition: 0.8s;
-ms-transition: 0.8s;
transition: 0.8s;
}
img#sun-img-button:hover {
background:#fff700a6;
}
pre > code > span {
padding: 20px;
line-break: anywhere;
word-break: break-all;
}
.sns-link p span.icon-git {
font-size: 20px;
}
@media screen and (max-width:1000px) {
html {
font-size: 100%;
}
.logo span.icon-phoenix-world{
font-size: 60px;
font-size: 6rem;
}
.containerx {
width: auto;
font-size:18px;
word-wrap: break-word;
word-break: break-all;
}
.vrm iframe {
width:100%;
}
button.tag {
display:none;
}
article {
padding: 15px;
}
.content p img {
width:100%;
}
.outer p {
padding: 15px;
}
.outer h2 {
padding: 15px;
}
}
.sns-message {
padding: 10px;
background-color: #f1f1f1;
}
.sns-message p {
padding: 10px ;
}
.sns-message img {
background-color:#fff;
width:80px;
border-radius:7px;
border: solid 1px #313131;
margin: 30px;
float: left;
}
.footer-qr {
text-align:center;
margin: 100px 0 100px 0;
}
span.footer-link img {
width: 200px;
}

View File

@ -1,513 +1,503 @@
html {
-webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
-o-font-smoothing: antialiased;
-webkit-font-smoothing: antialiased;
-moz-font-smoothing: antialiased;
-ms-font-smoothing: antialiased;
-o-font-smoothing: antialiased;
}
body {
background-attachment: fixed;
-webkit-background-size: cover;
background-size: cover;
color: #444;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
background-attachment: fixed;
-webkit-background-size: cover;
background-size: cover;
color: #444;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
#window {
margin-left: auto;
margin-right: auto;
-moz-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.75);
-webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.75);
background: #333;
border-radius: 4px;
overflow: hidden;
width: 100%;
height: 100%;
margin:5px;
margin-left: auto;
margin-right: auto;
-moz-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.75);
-webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.75);
background: #333;
border-radius: 4px;
overflow: hidden;
width: 100%;
height: 100%;
margin:5px;
}
#topbar {
width: 100%;
height: 21px;
font-size: 16px;
font-family: "Myriad Pro", sans-serif;
text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.25);
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
width: 100%;
height: 21px;
font-size: 16px;
font-family: "Myriad Pro", sans-serif;
text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.25);
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
}
#topbar ul li {
float: left;
padding: 0 10px;
height: 21px;
line-height: 24px;
float: left;
padding: 0 10px;
height: 21px;
line-height: 24px;
}
#topbar ul li:first-child {
font-size: 20px;
line-height: 26px;
margin-left: 5px;
font-size: 20px;
line-height: 26px;
margin-left: 5px;
}
#topbar ul li:nth-child(2) {
font-family: "Myriad-Semi", sans-serif;
font-family: "Myriad-Semi", sans-serif;
}
#topbar ul li:active {
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(1, #4a82ff), color-stop(0, #0052fc));
color: #fff;
text-shadow: none;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(1, #4a82ff), color-stop(0, #0052fc));
color: #fff;
text-shadow: none;
}
#toolbar {
width: 100%;
height: 25px;
background: #ccc;
width: 100%;
height: 25px;
background: #ccc;
}
#toolbar .top {
float: left;
width: 100%;
height: 23px;
float: left;
width: 100%;
height: 23px;
}
#toolbar .bottom {
float: left;
width: 100%;
height: 30px;
float: left;
width: 100%;
height: 30px;
}
#toolbar #lights {
float: left;
position: relative;
top: 6px;
left: 7px;
float: left;
position: relative;
top: 6px;
left: 7px;
}
.light {
float: left;
width: 14px;
height: 14px;
border-radius: 14px;
-webkit-box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5), 0px 0px 3px #000 inset;
-moz-box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5), 0px 0px 3px #000 inset;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5), 0px 0px 3px #000 inset;
overflow: hidden;
float: left;
width: 14px;
height: 14px;
border-radius: 14px;
-webkit-box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5), 0px 0px 3px #000 inset;
-moz-box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5), 0px 0px 3px #000 inset;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5), 0px 0px 3px #000 inset;
overflow: hidden;
}
#lights:hover .glyph {
opacity: 1;
cursor: default;
opacity: 1;
cursor: default;
}
.light .shine {
width: 4px;
height: 3px;
border-radius: 10px;
background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
background-image: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(255, 255, 255, 0)));
background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: -o-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: -ms-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
width: 4px;
height: 3px;
border-radius: 10px;
background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
background-image: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(255, 255, 255, 0)));
background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: -o-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: -ms-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}
.light .glow {
width: 14px;
height: 8px;
background-image: -webkit-gradient(radial, center bottom, 0, center center, 5, from(rgba(255, 255, 255, 0.75)), to(rgba(255, 255, 255, 0)));
background: 0px 0px -moz-radial-gradient(bottom, cover, rgba(255, 255, 255, 0.70) 0%, rgba(255, 255, 255, 0) 80%);
width: 14px;
height: 8px;
background-image: -webkit-gradient(radial, center bottom, 0, center center, 5, from(rgba(255, 255, 255, 0.75)), to(rgba(255, 255, 255, 0)));
background: 0px 0px -moz-radial-gradient(bottom, cover, rgba(255, 255, 255, 0.70) 0%, rgba(255, 255, 255, 0) 80%);
}
.red {
background: #f41b16;
background: -moz-linear-gradient(top, #f41b16 0%, #fc7471 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f41b16), color-stop(100%, #fc7471));
background: -webkit-linear-gradient(top, #f41b16 0%, #fc7471 100%);
background: -o-linear-gradient(top, #f41b16 0%, #fc7471 100%);
background: -ms-linear-gradient(top, #f41b16 0%, #fc7471 100%);
background: linear-gradient(top, #f41b16 0%, #fc7471 100%);
background: #f41b16;
background: -moz-linear-gradient(top, #f41b16 0%, #fc7471 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f41b16), color-stop(100%, #fc7471));
background: -webkit-linear-gradient(top, #f41b16 0%, #fc7471 100%);
background: -o-linear-gradient(top, #f41b16 0%, #fc7471 100%);
background: -ms-linear-gradient(top, #f41b16 0%, #fc7471 100%);
background: linear-gradient(top, #f41b16 0%, #fc7471 100%);
}
.red:active {
background: #972f2e;
background: -moz-linear-gradient(top, #972f2e 0%, #fc7471 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #972f2e), color-stop(100%, #fc7471));
background: -webkit-linear-gradient(top, #972f2e 0%, #fc7471 100%);
background: -o-linear-gradient(top, #972f2e 0%, #fc7471 100%);
background: -ms-linear-gradient(top, #972f2e 0%, #fc7471 100%);
background: linear-gradient(top, #972f2e 0%, #fc7471 100%);
background: #972f2e;
background: -moz-linear-gradient(top, #972f2e 0%, #fc7471 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #972f2e), color-stop(100%, #fc7471));
background: -webkit-linear-gradient(top, #972f2e 0%, #fc7471 100%);
background: -o-linear-gradient(top, #972f2e 0%, #fc7471 100%);
background: -ms-linear-gradient(top, #972f2e 0%, #fc7471 100%);
background: linear-gradient(top, #972f2e 0%, #fc7471 100%);
}
.red .shine {
position: relative;
top: -21px;
left: 5px;
position: relative;
top: -21px;
left: 5px;
}
.red .glow {
position: relative;
top: -20px;
position: relative;
top: -20px;
}
.red .glyph {
position: relative;
top: -5px;
left: 3px;
font-size: 14px;
font-weight: 400;
color: #9b3a36;
z-index: 50;
opacity: 0;
position: relative;
top: -5px;
left: 3px;
font-size: 14px;
font-weight: 400;
color: #9b3a36;
z-index: 50;
opacity: 0;
}
.yellow {
background: #f4a316;
background: -moz-linear-gradient(left, #f4a316 0%, #fcc371 100%);
background: -webkit-gradient(linear, left top, right top, color-stop(0%, #f4a316), color-stop(100%, #fcc371));
background: -webkit-linear-gradient(left, #f4a316 0%, #fcc371 100%);
background: -o-linear-gradient(left, #f4a316 0%, #fcc371 100%);
background: -ms-linear-gradient(left, #f4a316 0%, #fcc371 100%);
background: linear-gradient(left, #f4a316 0%, #fcc371 100%);
margin: 0px 7px;
background: #f4a316;
background: -moz-linear-gradient(left, #f4a316 0%, #fcc371 100%);
background: -webkit-gradient(linear, left top, right top, color-stop(0%, #f4a316), color-stop(100%, #fcc371));
background: -webkit-linear-gradient(left, #f4a316 0%, #fcc371 100%);
background: -o-linear-gradient(left, #f4a316 0%, #fcc371 100%);
background: -ms-linear-gradient(left, #f4a316 0%, #fcc371 100%);
background: linear-gradient(left, #f4a316 0%, #fcc371 100%);
margin: 0px 7px;
}
.yellow:active {
background: #ae4f1e;
background: -moz-linear-gradient(top, #ae4f1e 0%, #fcc371 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ae4f1e), color-stop(100%, #fcc371));
background: -webkit-linear-gradient(top, #ae4f1e 0%, #fcc371 100%);
background: -o-linear-gradient(top, #ae4f1e 0%, #fcc371 100%);
background: -ms-linear-gradient(top, #ae4f1e 0%, #fcc371 100%);
background: linear-gradient(top, #ae4f1e 0%, #fcc371 100%);
background: #ae4f1e;
background: -moz-linear-gradient(top, #ae4f1e 0%, #fcc371 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ae4f1e), color-stop(100%, #fcc371));
background: -webkit-linear-gradient(top, #ae4f1e 0%, #fcc371 100%);
background: -o-linear-gradient(top, #ae4f1e 0%, #fcc371 100%);
background: -ms-linear-gradient(top, #ae4f1e 0%, #fcc371 100%);
background: linear-gradient(top, #ae4f1e 0%, #fcc371 100%);
}
.yellow .shine {
position: relative;
top: -21px;
left: 5px;
position: relative;
top: -21px;
left: 5px;
}
.yellow .glow {
position: relative;
top: -20px;
position: relative;
top: -20px;
}
.yellow .glyph {
position: relative;
top: -5px;
left: 3px;
font-size: 24px;
color: #854322;
z-index: 50;
opacity: 0;
-webkit-transform: scaleY(1.5) scaleX(1.3);
position: relative;
top: -5px;
left: 3px;
font-size: 24px;
color: #854322;
z-index: 50;
opacity: 0;
-webkit-transform: scaleY(1.5) scaleX(1.3);
}
.green {
background: #4cae2e;
background: -moz-linear-gradient(top, #4cae2e 0%, #dafc71 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #4cae2e), color-stop(100%, #dafc71));
background: -webkit-linear-gradient(top, #4cae2e 0%, #dafc71 100%);
background: -o-linear-gradient(top, #4cae2e 0%, #dafc71 100%);
background: -ms-linear-gradient(top, #4cae2e 0%, #dafc71 100%);
background: linear-gradient(top, #4cae2e 0%, #dafc71 100%);
background: #4cae2e;
background: -moz-linear-gradient(top, #4cae2e 0%, #dafc71 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #4cae2e), color-stop(100%, #dafc71));
background: -webkit-linear-gradient(top, #4cae2e 0%, #dafc71 100%);
background: -o-linear-gradient(top, #4cae2e 0%, #dafc71 100%);
background: -ms-linear-gradient(top, #4cae2e 0%, #dafc71 100%);
background: linear-gradient(top, #4cae2e 0%, #dafc71 100%);
}
.green:active {
background: #48752b;
background: -moz-linear-gradient(top, #48752b 0%, #dafc71 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #48752b), color-stop(100%, #dafc71));
background: -webkit-linear-gradient(top, #48752b 0%, #dafc71 100%);
background: -o-linear-gradient(top, #48752b 0%, #dafc71 100%);
background: -ms-linear-gradient(top, #48752b 0%, #dafc71 100%);
background: linear-gradient(top, #48752b 0%, #dafc71 100%);
background: #48752b;
background: -moz-linear-gradient(top, #48752b 0%, #dafc71 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #48752b), color-stop(100%, #dafc71));
background: -webkit-linear-gradient(top, #48752b 0%, #dafc71 100%);
background: -o-linear-gradient(top, #48752b 0%, #dafc71 100%);
background: -ms-linear-gradient(top, #48752b 0%, #dafc71 100%);
background: linear-gradient(top, #48752b 0%, #dafc71 100%);
}
.green .shine {
position: relative;
top: -20px;
left: 5px;
position: relative;
top: -20px;
left: 5px;
}
.green .glow {
position: relative;
top: -20px;
position: relative;
top: -20px;
}
.green .glyph {
position: relative;
top: -5px;
left: 3px;
font-size: 14px;
font-weight: bold;
color: #25571d;
z-index: 50;
opacity: 0;
position: relative;
top: -5px;
left: 3px;
font-size: 14px;
font-weight: bold;
color: #25571d;
z-index: 50;
opacity: 0;
}
@-moz-document url-prefix() {
.red .glyph {
position: relative;
top: -5px;
}
.yellow .glyph {
top: -4px;
left: 3px;
}
.green .glyph {
position: relative;
top: -4px;
}
.red .glyph {
position: relative;
top: -5px;
}
.yellow .glyph {
top: -4px;
left: 3px;
}
.green .glyph {
position: relative;
top: -4px;
}
}
#title {
float: left;
position: relative;
top: 6px;
width: 40%;
left: 45%;
font-family: "Myriad Pro", sans-serif;
font-size: 16px;
line-height: 14px;
font-weight: bold;
float: left;
position: relative;
top: 6px;
width: 40%;
left: 45%;
font-family: "Myriad Pro", sans-serif;
font-size: 16px;
line-height: 14px;
font-weight: bold;
}
.folder {
float: left;
margin-right: 5px;
float: left;
margin-right: 5px;
}
.folder .tab {
width: 4px;
height: 2px;
background: #a4c5da;
border: 1px solid #728ea3;
border-bottom: none;
border-radius: 2px 2px 0px 0px;
-webkit-box-shadow: 0px -1px 0px #99b5c7 inset;
margin-left: 1px;
z-index: 5000;
margin-bottom: -1px;
width: 4px;
height: 2px;
background: #a4c5da;
border: 1px solid #728ea3;
border-bottom: none;
border-radius: 2px 2px 0px 0px;
-webkit-box-shadow: 0px -1px 0px #99b5c7 inset;
margin-left: 1px;
z-index: 5000;
margin-bottom: -1px;
}
.folder .body {
width: 14px;
height: 10px;
border: 1px solid #6e8ba1;
background: #b8cfe0;
background: -moz-linear-gradient(top, #b8cfe0 0%, #86adc8 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #b8cfe0), color-stop(100%, #86adc8));
background: -webkit-linear-gradient(top, #b8cfe0 0%, #86adc8 100%);
background: -o-linear-gradient(top, #b8cfe0 0%, #86adc8 100%);
background: -ms-linear-gradient(top, #b8cfe0 0%, #86adc8 100%);
background: linear-gradient(top, #b8cfe0 0%, #86adc8 100%);
z-index: -50;
-webkit-box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.25) inset, 0px 1px 0px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.25) inset, 0px 1px 0px rgba(0, 0, 0, 0.2);
width: 14px;
height: 10px;
border: 1px solid #6e8ba1;
background: #b8cfe0;
background: -moz-linear-gradient(top, #b8cfe0 0%, #86adc8 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #b8cfe0), color-stop(100%, #86adc8));
background: -webkit-linear-gradient(top, #b8cfe0 0%, #86adc8 100%);
background: -o-linear-gradient(top, #b8cfe0 0%, #86adc8 100%);
background: -ms-linear-gradient(top, #b8cfe0 0%, #86adc8 100%);
background: linear-gradient(top, #b8cfe0 0%, #86adc8 100%);
z-index: -50;
-webkit-box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.25) inset, 0px 1px 0px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.25) inset, 0px 1px 0px rgba(0, 0, 0, 0.2);
}
#nav {
margin: 1px 8px;
float: left;
margin: 1px 8px;
float: left;
}
#view {
margin: 2px 0 0 110px;
display: inline-block;
margin: 2px 0 0 110px;
display: inline-block;
}
.control_box {
height: 20px;
border-radius: 3px;
border: 1px solid #555;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(1, #fefefe), color-stop(0, #b8b8b8));
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.25);
height: 20px;
border-radius: 3px;
border: 1px solid #555;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(1, #fefefe), color-stop(0, #b8b8b8));
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.25);
}
.control_box .control {
height: 20px;
border-right: 1px solid #2e2e2e;
float: left;
text-align: center;
width: 27px;
height: 20px;
border-right: 1px solid #2e2e2e;
float: left;
text-align: center;
width: 27px;
}
.control:last-child {
border-right: 0px solid !important;
border-right: 0px solid !important;
}
.control:active {
background: #b0afb0;
-webkit-box-shadow: 0px 0px 4px #000 inset;
background: #b0afb0;
-webkit-box-shadow: 0px 0px 4px #000 inset;
}
.active {
background: #707070 !important;
-webkit-box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.6) inset !important;
background: #707070 !important;
-webkit-box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.6) inset !important;
}
#body {
font-family: Andale Mono, monospace;
line-height: 1em;
font-size: 13px;
float: left;
width: 100%;
background: #002b36;
padding: 10px;
line-height: 1.5em;
font-family: Andale Mono, monospace;
line-height: 1em;
font-size: 13px;
float: left;
width: 100%;
background: #002b36;
padding: 10px;
line-height: 1.5em;
}
#body p {
color: #63de00!important;
color: #63de00!important;
}
@keyframes blink {
0% {
background: rgba(99, 222, 0, 100);
}
100% {
background: rgba(99, 222, 0, 0);
}
0% {
background: rgba(99, 222, 0, 100);
}
100% {
background: rgba(99, 222, 0, 0);
}
}
@-webkit-keyframes blink {
0% {
background: rgba(99, 222, 0, 100);
}
100% {
background: rgba(99, 222, 0, 0);
}
0% {
background: rgba(99, 222, 0, 100);
}
100% {
background: rgba(99, 222, 0, 0);
}
}
@-moz-keyframes blink {
0% {
background: rgba(99, 222, 0, 100);
}
100% {
background: rgba(99, 222, 0, 0);
}
0% {
background: rgba(99, 222, 0, 100);
}
100% {
background: rgba(99, 222, 0, 0);
}
}
.cursor {
width: 10px;
margin-left: 0px;
color: #fff;
width: 10px;
margin-left: 0px;
color: #fff;
}
#body p::-webkit-selection {
background: #0b209e;
background: #0b209e;
}
#body p::selection {
background: #0b209e;
background: #0b209e;
}
#body p::-moz-selection {
background: #0b209e;
background: #0b209e;
}
#body p {
margin-top: 5px;
margin-bottom: 5px;
font-size: 13px;
margin-top: 5px;
margin-bottom: 5px;
font-size: 13px;
}
#content {
float: left;
margin-top: 1px;
float: left;
margin-top: 1px;
}
#foot {
height: 23px;
width: 100%;
float: left;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(1, #cbcbcb), color-stop(0, #a7a7a7));
border-top: 1px solid #515151;
border-radius: 0 0 5px 5px;
height: 23px;
width: 100%;
float: left;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(1, #cbcbcb), color-stop(0, #a7a7a7));
border-top: 1px solid #515151;
border-radius: 0 0 5px 5px;
}
#foot .handle {
width: 11px;
height: 11px;
float: right;
margin: 6px;
overflow: hidden;
width: 11px;
height: 11px;
float: right;
margin: 6px;
overflow: hidden;
}
.handle .grip {
-webkit-transform: rotate(45deg) scaley(3);
margin: 2px 0 0 2px;
color: #646464;
text-shadow: 1px 1px 0 #c6c6c6;
font-size: 14px;
-webkit-transform: rotate(45deg) scaley(3);
margin: 2px 0 0 2px;
color: #646464;
text-shadow: 1px 1px 0 #c6c6c6;
font-size: 14px;
}
.icon .frame {
width: 82px;
height: 82px;
border-radius: 5px;
border: 2px solid transparent;
width: 82px;
height: 82px;
border-radius: 5px;
border: 2px solid transparent;
}
.icon .name {
color: #000;
padding-top: 3px;
border-radius: 15px;
width: 55px;
margin: 5px 0 0 15px;
color: #000;
padding-top: 3px;
border-radius: 15px;
width: 55px;
margin: 5px 0 0 15px;
}
.icon .folder {
margin: 15px 0 0 6px;
margin: 15px 0 0 6px;
}
#icon-github {
text-align: -999px;
font-size: 1px;
display: block;
width: 156px;
height: 133px;
background-image: url(../img/sprite.png);
background-position: 0 133px;
text-align: -999px;
font-size: 1px;
display: block;
width: 156px;
height: 133px;
background-image: url(../img/sprite.png);
background-position: 0 133px;
}
#icon-github:hover {
background-position: 0 0px;
background-position: 0 0px;
}
#icon-rubygems {
text-align: -999px;
font-size: 1px;
display: block;
width: 156px;
height: 133px;
background-image: url(../img/sprite.png);
background-position: 158px 133px;
text-align: -999px;
font-size: 1px;
display: block;
width: 156px;
height: 133px;
background-image: url(../img/sprite.png);
background-position: 158px 133px;
}
#icon-rubygems:hover {
background-position: 158px 0px;
background-position: 158px 0px;
}
.source-urls {
margin-top: 40px;
margin-bottom: 40px;
margin-top: 40px;
margin-bottom: 40px;
}
.no-margin-bot {
color: #337AB7;
color: #337AB7;
}
span {
font-size: 15px;
}
#particles-js {
position: absolute;
width: 98%;
}
#particles-js-no {
position: absolute;
width: 98%;
font-size: 15px;
}
#icon-github:hover,
i.icon.ion-close-circled:hover,
i.icon.ion-minus-circled:hover,
i.icon.ion-plus-circled:hover {
color: rgba(0, 0, 0, .5);
color: rgba(0, 0, 0, .5);
}
i.icon.ion-close-circled {
color: rgba(212, 42, 38, 0.83);
text-shadow: 0 0 1px rgba(187, 187, 187, 0.56);
padding-top: 3px;
color: rgba(212, 42, 38, 0.83);
text-shadow: 0 0 1px rgba(187, 187, 187, 0.56);
padding-top: 3px;
}
i.icon.ion-minus-circled {
color: rgb(160, 165, 34);
text-shadow: 0 0 1px rgba(187, 187, 187, 0.56);
padding-top: 3px;
color: rgb(160, 165, 34);
text-shadow: 0 0 1px rgba(187, 187, 187, 0.56);
padding-top: 3px;
}
i.icon.ion-plus-circled {
color: rgb(82, 183, 51);
text-shadow: 0 0 1px rgba(187, 187, 187, 0.56);
padding-top: 3px;
color: rgb(82, 183, 51);
text-shadow: 0 0 1px rgba(187, 187, 187, 0.56);
padding-top: 3px;
}
.icon {
margin: 7px;
float: left;
font-size: 20px;
margin: 7px;
float: left;
font-size: 20px;
}
#title-left {
position: relative;
top: -8px;
font-family: "Myriad Pro", sans-serif;
font-size: 14px;
left: 49%;
position: relative;
top: -8px;
font-family: "Myriad Pro", sans-serif;
font-size: 14px;
left: 49%;
}
#terminal-origin {
font-family: monospace;
font-family: monospace;
}
@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
#title-left {
top: -13px;
}
#title-left {
top: -13px;
}
}
@media screen and (max-width:1000px){i.icon.ion-minus-circled{display:none}
#window{width:100%;}
#window{width:100%;}
}
@media screen and (max-width:800px){body{padding-top:0px;}
#title-left{left:50%;}
#window{width:100%;}
.container{padding:0px;}
/*article{padding:10px 20px;}*/
i.icon.ion-minus-circled{display:none}
#title-left{left:50%;}
#window{width:100%;}
.container{padding:0px;}
/*article{padding:10px 20px;}*/
i.icon.ion-minus-circled{display:none}
}
@media screen and (max-width:800px){#title-left{left:48%;}
}
@media screen and (max-width:500px){#title-left{left:40%;}
}
@media screen and (max-width:400px){body{padding-top:0px;width:auto;}
#title-left{left:50%;}
/*article{padding:10px 10px;}*/
#particles-js{width:auto;}
#particles-js-no{width:auto;}
i.icon.ion-minus-circled{display:none}
i.icon.ion-plus-circled{display:none}
#title-left{left:50%;}
/*article{padding:10px 10px;}*/
i.icon.ion-minus-circled{display:none}
i.icon.ion-plus-circled{display:none}
}

BIN
static/icon/null.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
static/icon/sun.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

19
static/icon/sun.svg Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="100.000000pt" height="100.000000pt" viewBox="0 0 512.000000 512.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>syui</metadata>
<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)"
fill="#fff700" stroke="none">
<circle cx="2500" cy="2500" r="1500" />
</g>
<g transform="scale(3 3) matrix(0.866, -0.5, 0.25, 0.433, 85, 85)" >
<path d="M 0,70 A 65,70 0 0,0 65,0 5,5 0 0,1 75,0 75,70 0 0,1 0,70Z" fill="#fff700" >
<animateTransform attributeName="transform" type="rotate" from="360 0 0" to="0 0 0" dur="1s" repeatCount="indefinite" />
<animate fill="freeze" dur="4000ms" begin="0s" values="#D38EFF;#DD6699;#DDDD00;#008CCF" calMode="linear" attributeName="fill" repeatCount="indefinite" />
</path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 950 B

BIN
static/img/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

BIN
static/img/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

BIN
static/img/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Some files were not shown because too many files have changed in this diff Show More