diff --git a/404.html b/404.html new file mode 100644 index 0000000..4d10a96 --- /dev/null +++ b/404.html @@ -0,0 +1,5 @@ +--- +layout: default +title: 404 +permalink: /404.html +--- diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..5d93367 --- /dev/null +++ b/Gemfile @@ -0,0 +1,31 @@ +source "https://rubygems.org" +# Hello! This is where you manage which Jekyll version is used to run. +# When you want to use a different version, change it below, save the +# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: +# +# bundle exec jekyll serve +# +# This will help ensure the proper Jekyll version is running. +# Happy Jekylling! +gem "jekyll", "~> 4.3.2" +# If you want to use GitHub Pages, remove the "gem "jekyll"" above and +# uncomment the line below. To upgrade, run `bundle update github-pages`. +# gem "github-pages", group: :jekyll_plugins +# If you have any plugins, put them here! +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.12" +end + +# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem +# and associated library. +platforms :mingw, :x64_mingw, :mswin, :jruby do + gem "tzinfo", ">= 1", "< 3" + gem "tzinfo-data" +end + +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin] + +# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem +# do not have a Java counterpart. +gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..5914a35 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,91 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + colorator (1.1.0) + concurrent-ruby (1.2.3) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + eventmachine (1.2.7) + ffi (1.16.3-x64-mingw-ucrt) + forwardable-extended (2.6.0) + google-protobuf (4.26.0-x64-mingw-ucrt) + rake (>= 13) + http_parser.rb (0.8.0) + i18n (1.14.4) + concurrent-ruby (~> 1.0) + jekyll (4.3.3) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) + jekyll-watch (~> 2.0) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) + liquid (~> 4.0) + mercenary (>= 0.3.6, < 0.5) + pathutil (~> 0.9) + rouge (>= 3.0, < 5.0) + safe_yaml (~> 1.0) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) + jekyll-feed (0.17.0) + jekyll (>= 3.7, < 5.0) + jekyll-sass-converter (3.0.0) + sass-embedded (~> 1.54) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (5.0.4) + rake (13.1.0) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.6) + rouge (4.2.1) + safe_yaml (1.0.5) + sass-embedded (1.72.0-x64-mingw-ucrt) + google-protobuf (>= 3.25, < 5.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + tzinfo-data (1.2024.1) + tzinfo (>= 1.0.0) + unicode-display_width (2.5.0) + wdm (0.1.1) + webrick (1.8.1) + +PLATFORMS + x64-mingw-ucrt + +DEPENDENCIES + http_parser.rb (~> 0.6.0) + jekyll (~> 4.3.2) + jekyll-feed (~> 0.12) + minima (~> 2.5) + tzinfo (>= 1, < 3) + tzinfo-data + wdm (~> 0.1.1) + +BUNDLED WITH + 2.4.20 diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..ee074d3 --- /dev/null +++ b/_config.yml @@ -0,0 +1,61 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. +# +# If you need help with YAML syntax, here are some quick references for you: +# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml +# https://learnxinyminutes.com/docs/yaml/ +# +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. + +title: Your awesome title +email: your-email@example.com +description: >- # this means to ignore newlines until "baseurl:" + Write an awesome description for your new site here. You can edit this + line in _config.yml. It will appear in your document head meta (for + Google search results) and in your feed.xml site description. +baseurl: "" # the subpath of your site, e.g. /blog +url: "" # the base hostname & protocol for your site, e.g. http://example.com +twitter_username: jekyllrb +github_username: jekyll + +# Build settings +# theme: minima +plugins: + - jekyll-feed + +# Exclude from processing. +# The following items will not be processed, by default. +# Any item listed under the `exclude:` key here will be automatically added to +# the internal "default list". +# +# Excluded items can be processed by explicitly listing the directories or +# their entries' file path in the `include:` list. +# +# exclude: +# - .sass-cache/ +# - .jekyll-cache/ +# - gemfiles/ +# - Gemfile +# - Gemfile.lock +# - node_modules/ +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ + +# Disqus Comments +disqus: + # Leave shortname blank to disable comments site-wide. + # Disable comments for any post by adding `comments: false` to that post's YAML Front Matter. + shortname: kirisoup.github.io \ No newline at end of file diff --git a/_data/nav.yml b/_data/nav.yml new file mode 100644 index 0000000..9f7a0a1 --- /dev/null +++ b/_data/nav.yml @@ -0,0 +1,23 @@ +- name: home + path: /home + +- name: blog + path: /blog + + subi: + - name: a random blog + path: /a-random-blog + + - name: a category + path: /a-category + + subi: + - name: another random blog + path: /another-random-blog + + - name: sub category + path: /sub-category + subi: + + + diff --git a/_includes/LO_template/default.html b/_includes/LO_template/default.html new file mode 100644 index 0000000..3463c60 --- /dev/null +++ b/_includes/LO_template/default.html @@ -0,0 +1,47 @@ + + + + + + + + + + + +
+
+ +
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ + +
+ +
+
+ + + diff --git a/_includes/nav.html b/_includes/nav.html new file mode 100644 index 0000000..a6daa70 --- /dev/null +++ b/_includes/nav.html @@ -0,0 +1,17 @@ + \ No newline at end of file diff --git a/_includes/toolbar.html b/_includes/toolbar.html new file mode 100644 index 0000000..4ae14a5 --- /dev/null +++ b/_includes/toolbar.html @@ -0,0 +1,3 @@ +
+
+
\ No newline at end of file diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..ff5c84f --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+ {% if page.comments %} +
+ + {% endif %} + +
+
+ + +
+ +
+
+ + + diff --git a/_layouts/frame.html b/_layouts/frame.html new file mode 100644 index 0000000..730d5af --- /dev/null +++ b/_layouts/frame.html @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + +
+ +
+
+ {{ content }} +
+ + + diff --git a/_layouts/landing.html b/_layouts/landing.html new file mode 100644 index 0000000..071b80c --- /dev/null +++ b/_layouts/landing.html @@ -0,0 +1,16 @@ + + + + + + + + + + + + {{ content }} + + + diff --git a/about.html b/about.html new file mode 100644 index 0000000..0697519 --- /dev/null +++ b/about.html @@ -0,0 +1,4 @@ +--- +layout: default +title: About +--- diff --git a/assets/font/SarasaMonoTC-Regular.ttf b/assets/font/SarasaMonoTC-Regular.ttf new file mode 100644 index 0000000..02e6adb Binary files /dev/null and b/assets/font/SarasaMonoTC-Regular.ttf differ diff --git a/assets/img/bg.gif b/assets/img/bg.gif new file mode 100644 index 0000000..e248189 Binary files /dev/null and b/assets/img/bg.gif differ diff --git a/assets/img/cloud.webp b/assets/img/cloud.webp new file mode 100644 index 0000000..dad177f Binary files /dev/null and b/assets/img/cloud.webp differ diff --git a/assets/img/rain.gif b/assets/img/rain.gif new file mode 100644 index 0000000..c49be65 Binary files /dev/null and b/assets/img/rain.gif differ diff --git a/assets/styles/default/structure.scss b/assets/styles/default/structure.scss new file mode 100644 index 0000000..a4c768e --- /dev/null +++ b/assets/styles/default/structure.scss @@ -0,0 +1,157 @@ +--- +--- + +// body,html{ height: 100%; margin:0; padding:0; overflow:hidden; } + + +body { + --hbar: 1lh; + --fbar: 2lh; + + background-color: #000; + + display: flex; + flex-direction: column; + + margin: 0; + height: 100vh; + + #headbar { + height: var(--hbar); + + background-color: #f08; + } + + #main { + display: flex; + justify-content: center; + align-items: center; + + height: calc(100% - var(--hbar) - var(--fbar)); + + #main_window { + + --minw_l: min(20em, 100vw); + --minw_r: 15em; + --minh: min(8lh, 100vh); + + display: flex; + position: relative; + + resize: both; + overflow: hidden; + width: 60em; + max-width: 100%; + min-width: var(--minw_l); + height: 20lh; + max-height: 100%; + min-height: var(--minh); + + background-color: #f08; + border: solid 1px #000; + + #main-left { + + + display: flex; + flex-direction: column; + position: relative; + + overflow: hidden; + height: 100%; + width: calc(100% - var(--minw_r)); + min-width: var(--minw_l); + + background-color: #fff; + + + #banner { + height: 3lh; + min-height: 3lh; + background-color: #f08; + } + + #page { + + // display: flex; + position: relative; + + flex: 1; + + .toolbar { + --unit: 1em; + + position: absolute; + z-index: 10; + display: flex; + flex-direction: row-reverse; + + // width: 5em; + height: var(--unit); + top: 0; right: 0; + + background-color: #0f0; + + .toolbtn { + width: var(--unit); + height: var(--unit); + border: 1px solid #000; + box-sizing: border-box; + margin-left: 2px; + } + } + + // #sect_navi { + // width: 5em; + // height: 100%; + // background-color: #ff0; + // } + + iframe { + position:relative; + border:0; + height:100%; + width:100%; + } + + .content { + flex: 1; + position: relative; + + width: 100%; + height: 100%; + + } + } + } + + #main-right { + position: relative; + flex: 1; + min-width: 1em; + height: 100%; + background-color: #0ff; + + .cactus-container { + + height: 100%; + max-height: 100%; + + overflow-y: scroll; + overflow-x: hidden; + } + } + } + } + + #footbar { + flex: 1; + + background-color: #0ff; + + + } + +} + + diff --git a/assets/styles/default/style.scss b/assets/styles/default/style.scss new file mode 100644 index 0000000..528fe53 --- /dev/null +++ b/assets/styles/default/style.scss @@ -0,0 +1,23 @@ +--- +--- + +body { + background-image: url("/assets/img/bg.gif"); + + &::before, &::after { + content: ""; + position: fixed; + inset: 0; + } + + &::before { + background-image: url("/assets/img/rain.gif"); + } + &::after { + // background-image: url("/assets/img/cloud.webp"); + } + + #headbar, #main, #footbar { + z-index: 1; + } +} \ No newline at end of file diff --git a/assets/styles/font.scss b/assets/styles/font.scss new file mode 100644 index 0000000..e46e2da --- /dev/null +++ b/assets/styles/font.scss @@ -0,0 +1,13 @@ +--- +--- + +html, code { + font-family: "sarasa", monospace; +} + +@font-face { + font-family: "sarasa"; + font-display: swap; + src: url(/assets/font/SarasaMonoTC-Regular.ttf); +} + diff --git a/assets/styles/page/code.scss b/assets/styles/page/code.scss new file mode 100644 index 0000000..f10d471 --- /dev/null +++ b/assets/styles/page/code.scss @@ -0,0 +1,64 @@ +--- +--- + +.highlight .hll { background-color: #ffffcc } +.highlight .c { color: #008800; font-style: italic } // Comment +.highlight .err { border: 1px solid #FF0000 } // Error +.highlight .k { color: #AA22FF; font-weight: bold } // Keyword +// .highlight .o { color: #666666 } // Operator +.highlight .cm { color: #008800; font-style: italic } // Comment.Multiline +.highlight .cp { color: #008800 } // Comment.Preproc +.highlight .c1 { color: #008800; font-style: italic } // Comment.Single +.highlight .cs { color: #008800; font-weight: bold } // Comment.Special +.highlight .gd { color: #A00000 } // Generic.Deleted +.highlight .ge { font-style: italic } // Generic.Emph +.highlight .gr { color: #FF0000 } // Generic.Error +.highlight .gh { color: #000080; font-weight: bold } // Generic.Heading +.highlight .gi { color: #00A000 } // Generic.Inserted +.highlight .go { color: #808080 } // Generic.Output +.highlight .gp { color: #000080; font-weight: bold } // Generic.Prompt +.highlight .gs { font-weight: bold } // Generic.Strong +.highlight .gu { color: #800080; font-weight: bold } // Generic.Subheading +.highlight .gt { color: #0040D0 } // Generic.Traceback +.highlight .kc { color: #AA22FF; font-weight: bold } // Keyword.Constant +.highlight .kd { color: #AA22FF; font-weight: bold } // Keyword.Declaration +.highlight .kn { color: #AA22FF; font-weight: bold } // Keyword.Namespace +.highlight .kp { color: #AA22FF } // Keyword.Pseudo +.highlight .kr { color: #AA22FF; font-weight: bold } // Keyword.Reserved +.highlight .kt { color: #00BB00; font-weight: bold } // Keyword.Type +// .highlight .m { color: #666666 } // Literal.Number +.highlight .s { color: #BB4444 } // Literal.String +.highlight .na { color: #BB4444 } // Name.Attribute +.highlight .nb { color: #AA22FF } // Name.Builtin +.highlight .nc { color: #0000FF } // Name.Class +.highlight .no { color: #880000 } // Name.Constant +.highlight .nd { color: #AA22FF } // Name.Decorator +.highlight .ni { color: #999999; font-weight: bold } // Name.Entity +.highlight .ne { color: #D2413A; font-weight: bold } // Name.Exception +.highlight .nf { color: #00A000 } // Name.Function +.highlight .nl { color: #A0A000 } // Name.Label +.highlight .nn { color: #0000FF; font-weight: bold } // Name.Namespace +.highlight .nt { color: #008000; font-weight: bold } // Name.Tag +.highlight .nv { color: #B8860B } // Name.Variable +.highlight .ow { color: #AA22FF; font-weight: bold } // Operator.Word +.highlight .w { color: #bbbbbb } // Text.Whitespace +// .highlight .mf { color: #666666 } // Literal.Number.Float +// .highlight .mh { color: #666666 } // Literal.Number.Hex +// .highlight .mi { color: #666666 } // Literal.Number.Integer +// .highlight .mo { color: #666666 } // Literal.Number.Oct +.highlight .sb { color: #BB4444 } // Literal.String.Backtick +.highlight .sc { color: #BB4444 } // Literal.String.Char +.highlight .sd { color: #BB4444; font-style: italic } // Literal.String.Doc +.highlight .s2 { color: #BB4444 } // Literal.String.Double +.highlight .se { color: #BB6622; font-weight: bold } // Literal.String.Escape +.highlight .sh { color: #BB4444 } // Literal.String.Heredoc +.highlight .si { color: #BB6688; font-weight: bold } // Literal.String.Interpol +.highlight .sx { color: #008000 } // Literal.String.Other +.highlight .sr { color: #BB6688 } // Literal.String.Regex +.highlight .s1 { color: #BB4444 } // Literal.String.Single +.highlight .ss { color: #B8860B } // Literal.String.Symbol +.highlight .bp { color: #AA22FF } // Name.Builtin.Pseudo +.highlight .vc { color: #B8860B } // Name.Variable.Class +.highlight .vg { color: #B8860B } // Name.Variable.Global +.highlight .vi { color: #B8860B } // Name.Variable.Instance +// .highlight .il { color: #666666 } // Literal.Number.Integer.Long \ No newline at end of file diff --git a/assets/styles/page/style.scss b/assets/styles/page/style.scss new file mode 100644 index 0000000..d40ab44 --- /dev/null +++ b/assets/styles/page/style.scss @@ -0,0 +1,42 @@ +--- +--- + +html { + height: 100%; + width: 100%; + + overflow: hidden; + + body { + + overflow: hidden; + + display: flex; + height: 100%; + + margin: 0; + + background: none; + color: black; + + #sections { + width: 5em; + background-color: #ff0; + } + + #content { + flex: 1; + min-width: 15em; + overflow-y: scroll; + + width: 100%; + height: 100%; + max-height: 100%; + + div.highlight { + + overflow-x: scroll; + } + } + } +} diff --git a/home.html b/home.html new file mode 100644 index 0000000..7b47653 --- /dev/null +++ b/home.html @@ -0,0 +1,4 @@ +--- +layout: default +comments: true +--- \ No newline at end of file diff --git a/index.md b/index.md new file mode 100644 index 0000000..26ab1f4 --- /dev/null +++ b/index.md @@ -0,0 +1,6 @@ +--- +layout: landing +--- +# Landing pg + +[portal!](home) \ No newline at end of file diff --git a/nav.md b/nav.md new file mode 100644 index 0000000..9248480 --- /dev/null +++ b/nav.md @@ -0,0 +1,6 @@ +--- +--- + +# navigation! + +{% include nav.html items=site.data.nav parpath="www" %} diff --git a/page/404.md b/page/404.md new file mode 100644 index 0000000..0c22721 --- /dev/null +++ b/page/404.md @@ -0,0 +1,9 @@ +--- +layout: frame +--- + +# 404 not found :( + +你已经抵达了大结界的尽头。在此之上的境界请依靠 [自己的力量](https://docs.github.com/zh/pages) 去开拓吧! + +You have reached the great boundary. Realms that lies beyond await your discovery with [the power of your own](https://docs.github.com/en/pages)! diff --git a/page/about.md b/page/about.md new file mode 100644 index 0000000..5b0a5b2 --- /dev/null +++ b/page/about.md @@ -0,0 +1,16 @@ +--- +layout: frame +--- + +This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/) + +You can find the source code for Minima at GitHub: +[jekyll][jekyll-organization] / +[minima](https://github.com/jekyll/minima) + +You can find the source code for Jekyll at GitHub: +[jekyll][jekyll-organization] / +[jekyll](https://github.com/jekyll/jekyll) + + +[jekyll-organization]: https://github.com/jekyll \ No newline at end of file diff --git a/page/home.md b/page/home.md new file mode 100644 index 0000000..48a835a --- /dev/null +++ b/page/home.md @@ -0,0 +1,137 @@ +--- +layout: frame +--- + +Amazing things starts here :) + + + +# Header # + +``` csharp +[HarmonyPatch(typeof(ArrayUtils), "FindSmallest")] +class OverrideFindSmallest { + + [HarmonyPrefix] + // overrides the original with a smarter algorithm + // notice that `__result` can be referenced together with other arguments + static bool IAmSoSmart(ref float[] numbers, ref float __result) { + + if (number.Length <= 2) + throw new ArgumentException("required more than two numbers", nameof(numbers)); + + float secondSmallest; + float smallest = float.MaxValue; + + foreach (float num in numbers) { + + if (num >= smallest) continue; + + secondSmallest = smallest; + smallest = num; + } + + // overrides the original return value + __result = secondSmallest; + + // skips the original + return false; + } +} +``` + + +午后之时,那银白色的幻想乡。 + +白雪静静地飘落于尚未开发的自然之中,显现出充满幻想的壮观景象。只能听见妖怪惨叫般的鸣啼声远远传来。 + +道路被没有足迹的新雪覆盖着。这附近基本上没有什么人类来访。 + +沿着这条没有道路的路前进,终究能够依稀望见一座不可思议的商店建筑。而店主人肯定是正坐在源于外面世界的暖炉旁侧一边取暖,一边阅读着难以理解的书。他无论何时都是这样悠闲度日啊。 + +店里面有很多外面世界的物品。虽然幻想乡是在外面世界被称做明治时代的那时候被隔离开的,但那之后时代的物品却也有很多。基本上都是些用途不明的东西。 + +商店的招牌上写着香霖堂这三个字。古道具屋“香霖堂”就是这里了。 +“霖之助先生?” + +好像店里来了久违的客人。我虽还想接着读书,不过顾客就是神明,总不能说店家不在就放着不管吧。 +“你在的吧?” + +穿着一身红色衣服的神明还没等我装作不在家,就已经站到我背后了。 +“怎么,是灵梦啊。我不是一直说,不要随便就到我的起居室里来的吗?” +“比起那种事先听我说呀。我可倒了大霉啦——……” + +又来了。我眼前这位红色的少女从不好好听别人说话。少女名叫博丽灵梦。虽说是幻想乡唯一的巫女1,不过她那行为也经常让人怀疑这一点的真实性。说得晚了,我的名字是森近霖之助,经营着这家古道具屋。灵梦边弹去肩头的雪片便一边开始喋喋不休地说起话来。 +“今天,我到人类村落买东西去了。问我买些什么?我的茶叶剩得不多了,就寻思着在身心煎熬得要死的程度之前先买点……虽然也死不了就是了……喂,你有在听人家说话吗?” + +我本想回答说“既然你不听我说我也就没在听你说”,不过还是回应说“啊啊,在听”。 +“然后呢,虽说没有好的茶叶……啊,虽然跟这个没什么关系,不过村落的道祖神被雪掩埋了哟,这次该轮到谁给它打伞了呢。我还迷了路。说起来,那边那个道祖神的神体是什么来着?” + +看来,要是我不稍微诱导她一下的话,在她说出正题之前话题就要一直飞到神武天皇那里去了。 +“障之神,是保护村落不受灾祸的神啊。你说你倒了大霉了,究竟发生了什么?” +“啊,到买完东西时倒是什么都没发生。” + +什么都没发生啊。 +“回来的时候啊,我看见有妖怪正悠闲地坐在那里,而且还好像很高兴似的读着书!” + +那不也没什么吗?我试着问她,却被无视了。 +“我就想着出其不意地把她击退,可她却反击了啊。那家伙真是桀骜不驯还很强劲。没想到她竟然会从我身后发射妖弹。我也是一时大意了……” + +我只能觉得是那妖怪遭了横祸。不过说是想出其不意又一时大意了,在她身上应该发生了什么吧。 +“霖之助先生,你在听人家说吗?” +“啊啊,我没在听啊。” +“……然后呢,那家伙倒是被我打得落花流水的了。” + +看来我怎么回应结果都一样。而灵梦,喊着“你看!”把身子转过去让我看她的后背,还鼓起腮帮子看向我。 +“这条裙子,可是前不久新做好的啊……” +“撕开了很大一块啊。明白你的企图了,想厚着脸皮要我来修补啊。” +“现在马上吧。” + +好,好。我看灵梦似乎很冷,就在暖炉边上多让出一个人的空间来。 +“你说是现在马上,也不可能那么快就补完啊。你就暂且先坐这……” + +啪哒啪哒啪哒…… +“这衣服我借喽—。稍等一会儿我去换衣服。” + +她不见了。似乎又是随随便便地跑到店的里屋去了。真是个很随便的家伙啊。 + +没办法。我坐回到座位上,伸手去够那本正看着一半的书——结果,伸出的手却只抓到了空气。那本书正在稍高的半空中漂浮着。 +“看什么书呐?香霖。” + +黑色的身影说道。今早看到茶杯有了缺口时,我就有种不祥的预感。 +“我说你啊。我不是一直说——” +“不要随随便便进来。对吧?” + +真受不了你们……眼前这位黑色少女名叫雾雨魔理沙,是个措辞稍微有点独特的魔法使,和灵梦关系很要好。虽然经常到店里来,我却弄不清她是有事还是没事。 +“今天有什么事啊?魔理沙。” +“这书的内容我根本看不懂耶。哦呀,虽然没什么事情不过我可不会回去啊。” + +没什么事情啊。“灰尘你总得擦干净吧”魔理沙边这么说着,边坐到了我要出售的壶的上面去。 +“……那是系列刊物的第十二册,是堆在这里的这些书的续刊。你光看那一本怎么能看明白啊?” +“啊—?《非冯诺依曼结构计算机的未来》?看了这题目也想不出它究竟要说的是什么耶。” +“那是外面世界的魔术书。和你可能沾不上什么缘分,我可是很有兴趣的。” +“呜—嗯,外面的魔法……那是什么样的魔法呀?香霖。” +“我还没读完呢……不过似乎是一种叫电脑的东西,能使用计算公式按人的命令办事。这不用说就是指式神啊。啊,不过我是不知道它那个式符是利用什么力量的。” +“嗯——式神吗?……咦?这些行李不是灵梦的东西吗?灵梦她在吗?” + +看来魔理沙对式神没兴趣就想要转移话题了,我就跟她说了刚才灵梦来时的经过。魔理沙边随声附和地说着“还真像灵梦的作风啊”,边翻弄着灵梦的行李。她从那堆行李中拿出了三册书,而我则受了一点轻微的冲击,因为那些书和这十二册是同一系列的。为什么灵梦会拿着那些书呢…… +“嗯?对这些书感兴趣?灵梦的话肯定会说‘因为妖怪把它们看得很重要的样子所以我就给拿来了’啦。” + +这三册书和我手头上的十二册加起来共十五册。恐怕这书全套十五册,没错的。外面世界的式神果然还是和幻想乡里是一样的。在电脑方面,F就代表着十五,F似乎是一切都充满着的状态。一切都成为F时则具有最大值,我曾经读过的书中也写过这样的话。 + +我就想,十五具有力量这一点不是理所当然的吗?十五在这个国家自古以来就意味着完全。阴历十五晚上的月亮被称做满月也是同理。所谓电脑,就是结合东洋的思想、利用了月之魔力的式神吧? + +“到底在想些什么啊?”魔理沙一边问我,一边排列起三册书。 + +魔理沙无意识的举动更让我注意到了这式神的组成结构。书上印有的编号“13”“14”“15”,把这编号排列起来就成了131415。若把开头的1去掉的话……就变成了表示使直线成为圆的数:3.1415,这也意味着满月。外面世界的式符是利用月之力量的,我的这一说法得到了确认。 + +我想要进一步调查外界式神的信息,而为此我就有必要完全得到这套书。 +“……香霖。你打算和灵梦做交易?我说还是算啦,那家伙可不具备普通的价值观哟。” + +确实,灵梦的思维有些太过于远离尘世了,普通的交换条件是行不通的。不过我却可以和灵梦做交易,我也大体上清楚灵梦的价值观。 + +这时,传来了持有者回来的脚步声。 + + + + diff --git a/temp b/temp new file mode 100644 index 0000000..e69de29