From bd55f08acf845b932798a873154e133786331599 Mon Sep 17 00:00:00 2001 From: gingerhot Date: Sat, 28 May 2022 09:14:16 +0000 Subject: [PATCH 01/13] deploy: gitx-io/homepage@db261a5f73afdc38c2862692267e254d0461975a --- .nojekyll | 0 404.html | 172 +++++++++++ CNAME | 1 + categories/index.html | 167 ++++++++++ categories/index.xml | 1 + css/hugo-easy-gallery.css | 176 +++++++++++ favicon-16x16.png | Bin 0 -> 197 bytes favicon-32x32.png | Bin 0 -> 315 bytes favicon.ico | Bin 0 -> 4286 bytes image/blank-profile.png | Bin 0 -> 16185 bytes image/example.jpg | Bin 0 -> 39309 bytes index.html | 213 +++++++++++++ index.xml | 99 ++++++ js/load-photoswipe.js | 91 ++++++ ...8e53a96f94b72670920b60c09a56fdc8bece214.js | 228 ++++++++++++++ lib/gitment/gitment-0.0.3.min.css | 1 + lib/gitment/gitment-0.0.3.min.js | 1 + lib/jquery/jquery-3.2.1.min.js | 4 + .../default-skin/default-skin.min.css | 1 + lib/photoswipe/default-skin/default-skin.png | Bin 0 -> 547 bytes lib/photoswipe/default-skin/default-skin.svg | 1 + lib/photoswipe/default-skin/preloader.gif | Bin 0 -> 866 bytes lib/photoswipe/photoswipe-ui-default.min.js | 4 + lib/photoswipe/photoswipe.min.css | 1 + lib/photoswipe/photoswipe.min.js | 4 + lib/slideout/slideout-1.0.1.min.js | 1 + page/1/index.html | 1 + post/hugo-with-gitfx-zh_cn/index.html | 287 +++++++++++++++++ post/hugo-with-gitfx/index.html | 289 ++++++++++++++++++ post/index.html | 199 ++++++++++++ post/index.xml | 1 + post/page/1/index.html | 1 + robots.txt | 2 + ...781a7ff724d7fd49f7819ec8b91f6c63407db0.css | 1 + sitemap.xml | 1 + sitemap.xsl | 115 +++++++ tags/actionserverless/index.html | 182 +++++++++++ tags/actionserverless/index.xml | 1 + tags/actionserverless/page/1/index.html | 1 + tags/git/index.html | 192 ++++++++++++ tags/git/index.xml | 1 + tags/git/page/1/index.html | 1 + tags/gitfx/index.html | 192 ++++++++++++ tags/gitfx/index.xml | 1 + tags/gitfx/page/1/index.html | 1 + tags/index.html | 178 +++++++++++ tags/index.xml | 1 + tags/serverless/index.html | 182 +++++++++++ tags/serverless/index.xml | 1 + tags/serverless/page/1/index.html | 1 + 50 files changed, 2998 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 CNAME create mode 100644 categories/index.html create mode 100644 categories/index.xml create mode 100644 css/hugo-easy-gallery.css create mode 100644 favicon-16x16.png create mode 100644 favicon-32x32.png create mode 100644 favicon.ico create mode 100644 image/blank-profile.png create mode 100644 image/example.jpg create mode 100644 index.html create mode 100644 index.xml create mode 100644 js/load-photoswipe.js create mode 100644 js/main.638251f4230630f0335d8c6748e53a96f94b72670920b60c09a56fdc8bece214.js create mode 100644 lib/gitment/gitment-0.0.3.min.css create mode 100644 lib/gitment/gitment-0.0.3.min.js create mode 100644 lib/jquery/jquery-3.2.1.min.js create mode 100644 lib/photoswipe/default-skin/default-skin.min.css create mode 100644 lib/photoswipe/default-skin/default-skin.png create mode 100644 lib/photoswipe/default-skin/default-skin.svg create mode 100644 lib/photoswipe/default-skin/preloader.gif create mode 100644 lib/photoswipe/photoswipe-ui-default.min.js create mode 100644 lib/photoswipe/photoswipe.min.css create mode 100644 lib/photoswipe/photoswipe.min.js create mode 100644 lib/slideout/slideout-1.0.1.min.js create mode 100644 page/1/index.html create mode 100644 post/hugo-with-gitfx-zh_cn/index.html create mode 100644 post/hugo-with-gitfx/index.html create mode 100644 post/index.html create mode 100644 post/index.xml create mode 100644 post/page/1/index.html create mode 100644 robots.txt create mode 100644 sass/jane.min.9fc9271777574f37e5d96286c7781a7ff724d7fd49f7819ec8b91f6c63407db0.css create mode 100644 sitemap.xml create mode 100644 sitemap.xsl create mode 100644 tags/actionserverless/index.html create mode 100644 tags/actionserverless/index.xml create mode 100644 tags/actionserverless/page/1/index.html create mode 100644 tags/git/index.html create mode 100644 tags/git/index.xml create mode 100644 tags/git/page/1/index.html create mode 100644 tags/gitfx/index.html create mode 100644 tags/gitfx/index.xml create mode 100644 tags/gitfx/page/1/index.html create mode 100644 tags/index.html create mode 100644 tags/index.xml create mode 100644 tags/serverless/index.html create mode 100644 tags/serverless/index.xml create mode 100644 tags/serverless/page/1/index.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..8ffcb8c --- /dev/null +++ b/404.html @@ -0,0 +1,172 @@ + + + + +404 page not found - Gitx.io - Git toolbox + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ + + + + +
+
+
+
+
+

+

/* 404 page not found. */

+ +
+ +
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..dc4d7d6 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +gitx.io diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 0000000..50f127c --- /dev/null +++ b/categories/index.html @@ -0,0 +1,167 @@ + + + + +Categories - Gitx.io - Git toolbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ + + + + +
+
+
+
+
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/categories/index.xml b/categories/index.xml new file mode 100644 index 0000000..1d2a5e9 --- /dev/null +++ b/categories/index.xml @@ -0,0 +1 @@ +Categories on Gitx.io - Git toolboxhttps://gitx.io/categories/Recent content in Categories on Gitx.io - Git toolboxHugo -- gohugo.iogitx.io \ No newline at end of file diff --git a/css/hugo-easy-gallery.css b/css/hugo-easy-gallery.css new file mode 100644 index 0000000..e18949d --- /dev/null +++ b/css/hugo-easy-gallery.css @@ -0,0 +1,176 @@ +/* +Put this file in /static/css/hugo-easy-gallery.css +Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/ +*/ + +/* Grid Layout Styles */ + +.gallery { + overflow: hidden; + margin: 10px; + max-width: 768px; +} + +.gallery .box { + float: left; + position: relative; + /* Default: 1 tile wide */ + width: 100%; + padding-bottom: 100%; +} + +@media only screen and (min-width: 365px) { + /* Tablet view: 2 tiles */ + .gallery .box { + width: 50%; + padding-bottom: 50%; + } +} + +@media only screen and (min-width: 480px) { + /* Small desktop / ipad view: 3 tiles */ + .gallery .box { + width: 33.3%; + padding-bottom: 33.3%; + } +} + +@media only screen and (min-width: 9999px) { + /* Medium desktop: 4 tiles */ + .box { + width: 25%; + padding-bottom: 25%; + } +} + +/* Transition styles */ + +.gallery.hover-transition figure, +.gallery.hover-effect-zoom .img, +.gallery:not(.caption-effect-appear) figcaption, +.fancy-figure:not(.caption-effect-appear) figcaption { + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} + +/* Figure styles */ + +figure { + position: relative; + /* purely to allow absolution positioning of figcaption */ + overflow: hidden; +} + +.gallery figure { + margin: 0; + position: absolute; + left: 5px; + right: 5px; + top: 5px; + bottom: 5px; +} + +.gallery.hover-effect-grow figure:hover { + transform: scale(1.05); +} + +.gallery.hover-effect-shrink figure:hover { + transform: scale(0.95); +} + +.gallery.hover-effect-slidedown figure:hover { + transform: translateY(5px); +} + +.gallery.hover-effect-slideup figure:hover { + transform: translateY(-5px); +} + +/* img / a styles */ + +.gallery .img { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background-size: cover; + background-position: 50% 50%; + background-repeat: no-repeat; +} + +.gallery.hover-effect-zoom figure:hover .img { + transform: scale(1.05); +} + +.gallery img { + display: none; + /* only show the img if not inside a gallery */ +} + +figure a { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; +} + +/* figcaption styles */ + +.gallery figcaption, +.fancy-figure figcaption { + position: absolute; + bottom: 0; + left: 0; + right: 0; + background: #000; + color: #FFF; + text-align: center; + font-size: 75%; + /* change this if you want bigger text */ + background: rgba(0, 0, 0, 0.5); + opacity: 1; + cursor: pointer; +} + +.gallery.caption-position-none figcaption, +.fancy-figure.caption-position-none figcaption { + display: none; +} + +.gallery.caption-position-center figcaption, +.fancy-figure.caption-position-center figcaption { + top: 0; + padding: 40% 5px; +} + +.gallery.caption-position-bottom figcaption, +.fancy-figure.caption-position-bottom figcaption { + padding: 5px; +} + +.gallery.caption-effect-fade figure:not(:hover) figcaption, +.gallery.caption-effect-appear figure:not(:hover) figcaption, +.fancy-figure.caption-effect-fade figure:not(:hover) figcaption, +.fancy-figure.caption-effect-appear figure:not(:hover) figcaption { + background: rgba(0, 0, 0, 0); + opacity: 0; +} + +.gallery.caption-effect-slide.caption-position-bottom figure:not(:hover) figcaption, +.fancy-figure.caption-effect-slide.caption-position-bottom figure:not(:hover) figcaption { + margin-bottom: -100%; +} + +.gallery.caption-effect-slide.caption-position-center figure:not(:hover) figcaption, +.fancy-figure.caption-effect-slide.caption-position-center figure:not(:hover) figcaption { + top: 100%; +} + +figcaption p { + margin: auto; + /* override style in theme */ +} diff --git a/favicon-16x16.png b/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc1b034a10f9c7f8b72ede0e1887e79e00bfce3 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J)SO(Ar-fhE?m4=c;VW$ef&%Q zGgqlI3o|52aHO%gzu@S5lJ+)3cA@f**6>9yCUg7{FqmYWwPBUPX36Hd1?!hiIr`zk zVT0yz?;YyR{r_nx1iYW^&pD^%Bv(XX w;|Y7Ff2S6niPV?Kxx^Z1zpnT{lYbez@rQ$plf;{HfbL@OboFyt=akR{0C%ZOwEzGB literal 0 HcmV?d00001 diff --git a/favicon-32x32.png b/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..2f2a2037db5f6acf47b4a67ddfb7ea33ee14a791 GIT binary patch literal 315 zcmV-B0mS}^P)7xV5XTQOWHeJ(Jcf^9iE6dVOr_&3r!h zk8H#s7BNW(^~iINWGc0twRS{Wl=+A512J3nf2{qyHaZKr_StN<;y zHBXDz{2G`2x8&jX$A=cL`I)2j*XH$MQ*DjQ{%iP>J()~C(YMrcLqBu0K8y{=93Nu` zbIUL%Hs)BZkL74STDPpzwGT30+8RsxV{ERK(!eoVFFBe`=b+UfzowxpPvgb>UA6jX zh;dTB+!|6WZ7!z9}PMAq%EZZ=ay1`ZoZ}=#->=w&-L3k+y}`{ zeRrXrI;VyXc8$Ef+=D*031p`Nj6k zd(>+9CVv>$cO28uYTIG|8op!I0K8z7_uD02U3vcwK?n)KKjH08#Qer2qf` literal 0 HcmV?d00001 diff --git a/image/blank-profile.png b/image/blank-profile.png new file mode 100644 index 0000000000000000000000000000000000000000..89c0706f4e5d07c24f1821b6f4f09f46375fcf42 GIT binary patch literal 16185 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

N&zfx4e5U(ci-~)8C%& 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 KLO|%#2 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..f975aca --- /dev/null +++ b/index.html @@ -0,0 +1,213 @@ + + + + +Gitx.io - Git toolbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +
+ + + +
+
+ + + + + +
+
+
+
+
+
+
+

+在 Hugo 中使用 GitFx +

+ +
+
+
+本文主要通过一个 Hello world 的示例讲解如何在 Hugo 中使用 GitFx 嵌入代码和展示运行结果。 +
+ +
+
+
+
+

+Hugo with GitFx +

+ +
+
+
+This blog shows hugo-gitfx shortcode usage by a hello world example. +
+ +
+
+
+
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/index.xml b/index.xml new file mode 100644 index 0000000..f3069ba --- /dev/null +++ b/index.xml @@ -0,0 +1,99 @@ +Gitx.io - Git toolboxhttps://gitx.io/Recent content on Gitx.io - Git toolboxHugo -- gohugo.iogitx.ioWed, 05 Jan 2022 12:26:51 +0000在 Hugo 中使用 GitFxhttps://gitx.io/post/hugo-with-gitfx-zh_cn/Wed, 05 Jan 2022 12:26:51 +0000https://gitx.io/post/hugo-with-gitfx-zh_cn/<p><a href="https://github.com/gitx-io/GitFx">GitFx</a> 是我写的一个可以运行多种语言的代码片段的工具。同时提供了 <a href="https://github.com/gitx-io/ActionServerless">ActionServerless</a> 这个 action 方便在 GitHub 的 workflow 里运行 GitFx。之所以把它命名为 <code>ActionServerless</code> 这样的“热词”,除了蹭热度之外,你的确可以把用它实现的程序看作是一个 async 的 Serverless 应用。</p> +<p>使用 GitFx/ActionServerless 可以方便快速地为开发、测试创建一个静态资源的 API 服务。而且只需要把代码推到 GitHub 上就可以使用了。</p> +<p>我曾经想在博客中嵌入代码,同时通过一些服务去运行该代码,然后再把结果展示到文章里。可以使用 Docker 创建类似的功能,可以达到类似 Go playground 的那种效果。但是这对于个人博客不但有服务器开销,还会有安全问题。我们现在很多技术博客都是运行在 GitHub pages 上,所以用 GitFx 就方便多了:</p> +<ol> +<li>使用 GitFx 运行代码,把运行的输出存到一个路径</li> +<li>对于 Hugo 的使用者,我们提供了一个 shortcode 插件可以很方便地把插入代码、展示运行结果变成一行代码</li> +</ol> +<p>这样你就可以轻松地写技术博客了。下面我们通过一个 Hello world 的示例看下如何使用。</p> +<h2 id="hello-world-示例">Hello world 示例</h2> +<h3 id="在-github-action-中运行-gitfx">在 GitHub action 中运行 GitFx</h3> +<p>在本例我们把代码放到根目录下的 &lsquo;app&rsquo; 目录中。 我们创建一个名为 <code>hello.py</code> 的源文件,写上一行简单的 <code>print(&quot;Hello world!&quot;)</code> 再加上一行用注释定义的存储输出的文件路径(具体写法可见下文的代码或参考 GitFx 的文档)。</p> +<p>然后我们需要创建一个 GitHub action workflow,其中和 GitFx 有关的部分配置如下:</p> +<div class="highlight"><div style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"> +<table style="border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;"> +<pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">1 +</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">2 +</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">3 +</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">4 +</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">5 +</span></code></pre></td> +<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"> +<pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yml" data-lang="yml">... +- <span style="color:#268bd2">uses</span>: gitx-io/ActionServerless@master +<span style="color:#268bd2">with</span>: +<span style="color:#268bd2">filepath</span>: <span style="color:#2aa198">&#39;./app&#39;</span> +... +</code></pre></td></tr></table> +</div> +</div><p>完整的配置可参考<a href="https://github.com/gitx-io/gitx-io.github.io/blob/master/.github/workflows/hugo.yml">这里</a>。</p> +<h3 id="在-hugo-博客中展示代码和结果">在 Hugo 博客中展示代码和结果</h3> +<p>我们提供了一个 Hugo shortcode 的插件 <a href="https://github.com/gitx-io/hugo-gitfx">hugo-gitfx</a> 来展示 <code>hello.py</code> 和它的运行结果。你只需要在文章需要插入代码的地方写上:</p> +<blockquote> +<p>{{&lt; gitfx &ldquo;app/hello.py&rdquo; &gt;}}</p> +</blockquote> +<p>然后就会有下面这样的效果:</p> +<div class="highlight"><div style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"> +<table style="border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;"> +<pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">1 +</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">2 +</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">3 +</span></code></pre></td> +<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"> +<pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-python" data-lang="python"><span style="color:#586e75"># GET /app/hello_world</span> +<span style="color:#b58900">print</span>(<span style="color:#2aa198">&#34;Hello world!&#34;</span>) +</code></pre></td></tr></table> +</div> +</div> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-text" data-lang="text">Hello world! +</code></pre></div> +<p>如果你也恰好使用 Hugo 架设博客,也可以试一下哦!</p>Hugo with GitFxhttps://gitx.io/post/hugo-with-gitfx/Thu, 23 Dec 2021 12:26:51 +0000https://gitx.io/post/hugo-with-gitfx/<p>I posted <a href="https://news.ycombinator.com/item?id=26381561">a message</a> in HackerNews when I&rsquo;d released <a href="https://github.com/gitx-io/ActionServerless">ActionServerless(GitFx)</a> early this year. And most of replies criticized that I&rsquo;m abusing GitHub actions service. Then I emailed GitHub for their attitude, they replied that they don&rsquo;t think that&rsquo;s an abuse as so far.</p> +<p>GitFx can create a service for your developing, testing and learning with the convenience that GitHub actions provides. But I know there&rsquo;s no enough usage of it until now.</p> +<p>I ever thought to create a tool that can be embedded into tech blogs, to show code, run code and display output of code, just as <a href="https://go.dev/play/">golang playground</a> does. It seems there&rsquo;re a lot of such services at present. I ever created one with docker. But it&rsquo;s a little bit heavy to run so many docker containers.</p> +<p>Now I have GitFx, I realize it&rsquo;s really a nice solution:</p> +<ol> +<li>Use GitFx to run code, and store output to a route.</li> +<li>Take Hugo as your blog framework for example, we provide a shortcode to show code and its output in your blogs.</li> +</ol> +<p>You can create a vivid tutorial blog now! And of course I can&rsquo;t wait to give you one for how to use GitFx with Hugo.</p> +<h2 id="hello-world">Hello world</h2> +<h3 id="set-up-gitfx-in-action">Set up GitFx in action</h3> +<p>We put our code in a folder under root directory, &lsquo;app&rsquo; folder in our example. We create a source file named <code>hello.py</code>. We just code a <code>print(&quot;Hello world!&quot;)</code> into it with a GitFx route(a route is a line of comment to define a file path to store output of the code).</p> +<p>We need to set up a GitHub action workflow, the main part of configuration related with GitFx is:</p> +<div class="highlight"><div style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"> +<table style="border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;"> +<pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">1 +</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">2 +</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">3 +</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">4 +</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">5 +</span></code></pre></td> +<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"> +<pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yml" data-lang="yml">... +- <span style="color:#268bd2">uses</span>: gitx-io/ActionServerless@master +<span style="color:#268bd2">with</span>: +<span style="color:#268bd2">filepath</span>: <span style="color:#2aa198">&#39;./app&#39;</span> +... +</code></pre></td></tr></table> +</div> +</div><h3 id="show-code-in-your-hugo-blog">Show code in your Hugo blog</h3> +<p>We use Hugo shortcode <a href="https://github.com/gitx-io/hugo-gitfx">hugo-gitfx</a> to show the content of <code>hello.py</code> and its output. What you need is just to write one line in your blog:</p> +<blockquote> +<p>{{&lt; gitfx &ldquo;app/hello.py&rdquo; &gt;}}</p> +</blockquote> +<p>The code and output showed below is the magic of it:</p> +<div class="highlight"><div style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"> +<table style="border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;"> +<pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">1 +</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">2 +</span><span style="margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050">3 +</span></code></pre></td> +<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"> +<pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-python" data-lang="python"><span style="color:#586e75"># GET /app/hello_world</span> +<span style="color:#b58900">print</span>(<span style="color:#2aa198">&#34;Hello world!&#34;</span>) +</code></pre></td></tr></table> +</div> +</div> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-text" data-lang="text">Hello world! +</code></pre></div> +<p>You&rsquo;re welcome to have a try if you&rsquo;re a Hugo user!</p> \ No newline at end of file diff --git a/js/load-photoswipe.js b/js/load-photoswipe.js new file mode 100644 index 0000000..a9508a1 --- /dev/null +++ b/js/load-photoswipe.js @@ -0,0 +1,91 @@ +/* +Put this file in /static/js/load-photoswipe.js +Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/ +*/ + +/* Show an alert if this js file has been loaded twice */ +if (window.loadphotoswipejs) { + window.alert("You've loaded load-photoswipe.js twice. See https://github.com/liwenyip/hugo-easy-gallery/issues/6") +} +var loadphotoswipejs = 1 + +/* TODO: Make the share function work */ +$( document ).ready(function() { + /* + Initialise Photoswipe + */ + var items = []; // array of slide objects that will be passed to PhotoSwipe() + + // for every figure & image element on the page: + $('.post-content p > img, figure').each(function () { + var $this = $(this); + var $a, $img, $src, $title, $msrc; + if ($this.attr('class') == 'no-photoswipe') return true; // ignore any figures where class="no-photoswipe" + + // get image properties, + if ($this[0].tagName === 'IMG') { + $src = $this[0].src; + $msrc = $this[0].src; + $title = $this[0].alt; + } else { + // else figure image + $a = $this.find('a'), + $img = $this.find('img'), + $src = $a.attr('href'), + $title = $img.attr('alt'), + $msrc = $img.attr('src'); + } + + // if data-size on tag is set, read it and create an item + if ($a && $a.data('size')) { + var $size = $a.data('size').split('x'); + var item = { + src: $src, + w: $size[0], + h: $size[1], + title: $title, + msrc: $msrc + }; + // console.log("Using pre-defined dimensions for " + $src); + // if not, set temp default size then load the image to check actual size + } else { + var item = { + src: $src, + w: 800, // temp default size + h: 600, // temp default size + title: $title, + msrc: $msrc + }; + // console.log("Using default dimensions for " + $src); + // load the image to check its dimensions + // update the item as soon as w and h are known (check every 30ms) + var img = new Image(); + img.src = $src; + var wait = setInterval(function() { + var w = img.naturalWidth, + h = img.naturalHeight; + if (w && h) { + clearInterval(wait); + item.w = w; + item.h = h; + // console.log("Got actual dimensions for " + img.src); + } + }, 30); + } + // Save the index of this image then add it to the array + var index = items.length; + items.push(item); + // Event handler for click on a figure + $this.on('click', function(event) { + event.preventDefault(); // prevent the normal behaviour i.e. load the hyperlink + // Get the PSWP element and initialise it with the desired options + var $pswp = $('.pswp')[0]; + var options = { + index: index, + bgOpacity: 0.8, + showHideOpacity: true + } + new PhotoSwipe($pswp, PhotoSwipeUI_Default, items, options).init(); + }); + }); +}); diff --git a/js/main.638251f4230630f0335d8c6748e53a96f94b72670920b60c09a56fdc8bece214.js b/js/main.638251f4230630f0335d8c6748e53a96f94b72670920b60c09a56fdc8bece214.js new file mode 100644 index 0000000..41be1dc --- /dev/null +++ b/js/main.638251f4230630f0335d8c6748e53a96f94b72670920b60c09a56fdc8bece214.js @@ -0,0 +1,228 @@ +// import backToTop from './backToTop'; +// import mobileNavbar from './mobileNavbar'; +// import toc from './toc'; +// import headerAnchor from './headerAnchor'; +// import fnTooltip from './footnoteTooltip'; +// import highlight from './highlight'; + +/** + * back to top + */ +var backToTop = function() { + const $backToTop = $('#back-to-top'); + + $(window) + .scroll(function() { + if ($(window) + .scrollTop() > 100) { + $backToTop.fadeIn(1000); + } else { + $backToTop.fadeOut(1000); + } + }) + + $backToTop.click(function() { + $('body,html') + .animate({ + scrollTop: 0 + }); + }) +} + + +/** + * mobile Navbar + */ +var mobileNavbar = function() { + const $mobileNav = $('#mobile-navbar'); + const $mobileNavIcon = $('.mobile-navbar-icon'); + const slideout = new Slideout({ + 'panel': document.getElementById('mobile-panel'), + 'menu': document.getElementById('mobile-menu'), + 'padding': 180, + 'tolerance': 70 + }) + slideout.disableTouch() + + $mobileNavIcon.click(function () { + slideout.toggle() + }) + + slideout.on('beforeopen', function () { + $mobileNav.addClass('fixed-open') + $mobileNavIcon.addClass('icon-click').removeClass('icon-out') + }) + + slideout.on('beforeclose', function () { + $mobileNav.removeClass('fixed-open') + $mobileNavIcon.addClass('icon-out').removeClass('icon-click') + }) + + $('#mobile-panel').on('touchend', function () { + slideout.isOpen() && $mobileNavIcon.click() + }) + + $('.mobile-submenu-open').on('click', function () { + const $mobileSubmenuList = $('.mobile-submenu-list') + const $mobileMenuParent = $('.mobile-menu-parent') + + if ($(this).parent().next().css('display') == "none") { + $mobileSubmenuList.slideUp(300) + $(this).parent().next('ul').slideDown(300) + $(this).parent().addClass('mobile-submenu-show') + $(this).parent().parent().siblings().children().removeClass('mobile-submenu-show') + } else { + $(this).parent().next('ul').slideUp(300) + $mobileMenuParent.removeClass('mobile-submenu-show') + } + }); +} + + +/** + * Table of Content fix + */ +function initToc() { + const $toc = $('#post-toc'); + if ($toc.length && $(window) + .width() >= 1080) { + $(window) + .scroll(function() { + if ($(window) + .scrollTop() > 100) { + $toc.fadeIn(1000); + } else { + $toc.fadeOut(100); + } + }); + } +} + +var toc = function() { + const tocContainer = document.getElementById('post-toc'); + if (tocContainer !== null) { + const toc = document.getElementById('TableOfContents'); + if (toc === null) { + // if global config 'toc = true', but there are no headings + tocContainer.parentNode.removeChild(tocContainer); + } else { + initToc(); + } + } +} + + +/** +* Anchor for post content header +**/ +var anchorForId = function (id) { + var anchor = document.createElement("a"); + anchor.className = "header-link"; + anchor.href = "#" + id; + anchor.innerHTML = ''; + return anchor; +}; + +var linkifyAnchors = function (level, containingElement) { + var headers = containingElement.getElementsByTagName("h" + level); + for (var h = 0; h < headers.length; h++) { + var header = headers[h]; + header.className = "post-content-header"; + + if (typeof header.id !== "undefined" && header.id !== "") { + // insert header-link before the header + header.appendChild(anchorForId(header.id)); + } + } +}; + +var headerAnchor = function() { + var contentBlock = document.getElementsByClassName("post-content")[0]; + if (!contentBlock) { + return; + } + + for (var level = 1; level <= 4; level++) { + linkifyAnchors(level, contentBlock); + } +}; + + +/** + * footnote tooltip + */ +var fnTooltip = function () { + $(".footnote-ref").each(function () { + var id = $(this).children("a").attr("href").substr(1), + footnote = $(document.getElementById(id)).clone(), + outer_wrapper = $("", { "class": "fn-content" }), + inner_wrapper = $("", { "class": "fn-text" }); + footnote.find(".footnote-return").remove(); + $(this).append(outer_wrapper.append(inner_wrapper.html(footnote.html()))); + }); + + // fix tooltip position & width + var position = function () { + var content = $(".fn-content").removeAttr("style"); + if ($(window).width() < 640) + content.css("width", $(window).width() / 2); + else + content.css("width", 340); // default value + content.each(function () { + var width = $(this).children(".fn-text").outerWidth(); + $(this).css({ + "width": width, + "margin-left": width / -2 + }); + }); + } + position(); + $(window).resize(position()); +} + + +/** + * highlight + */ +var highlight = function () { + document.querySelectorAll('.chroma>table') + .forEach((element) => { + const sub = element.querySelector('code[data-lang]'); + if (sub !== null) { + element.setAttribute('data-lang', mapLang(sub.getAttribute('data-lang'))); + } + }); +} + +function mapLang(name) { + return { + coffeescript: 'CoffeeScript', + cpp: 'C++', + cs: 'C#', + css: 'CSS', + html: 'HTML', + http: 'HTTP', + js: 'JavaScript', + json: 'JSON', + objectivec: 'Objective-C', + php: 'PHP', + sql: 'SQL', + toml: 'TOML', + ts: 'TypeScript', + typescript: 'TypeScript', + xml: 'XML', + yaml: 'YAML', + }[name] || name; +} + + +/* main */ +$(document).ready(function () { + backToTop(); + mobileNavbar(); + toc(); + headerAnchor(); + fnTooltip(); +}); + +highlight(); diff --git a/lib/gitment/gitment-0.0.3.min.css b/lib/gitment/gitment-0.0.3.min.css new file mode 100644 index 0000000..9ec26a6 --- /dev/null +++ b/lib/gitment/gitment-0.0.3.min.css @@ -0,0 +1 @@ +.gitment-markdown hr::after,.gitment-markdown::after{clear:both}.gitment-container{font-family:sans-serif;font-size:14px;line-height:1.5;color:#333;word-wrap:break-word}.gitment-container *{box-sizing:border-box}.gitment-container :disabled{cursor:not-allowed}.gitment-container a,.gitment-container a:visited{cursor:pointer;text-decoration:none}.gitment-container a:hover{text-decoration:underline}.gitment-container .gitment-hidden{display:none}.gitment-container .gitment-spinner-icon{fill:#333;-webkit-animation:gitment-spin 1s steps(12) infinite;animation:gitment-spin 1s steps(12) infinite}@-webkit-keyframes gitment-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes gitment-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.gitment-header-container,.gitment-root-container{margin:19px 0}.gitment-comment-like-btn,.gitment-comment-reply-btn,.gitment-header-like-btn{cursor:pointer}.gitment-comment-like-btn,.gitment-comment-reply-btn{float:right}.gitment-comment-like-btn.liked{color:#F44336}.gitment-header-like-btn svg{vertical-align:middle;height:30px}.gitment-comment-like-btn svg,.gitment-comment-reply-btn svg{vertical-align:middle;height:20px}.gitment-comment-like-btn.liked svg,.gitment-header-like-btn.liked svg{fill:#F44336}a.gitment-header-issue-link,a.gitment-header-issue-link:visited{float:right;line-height:30px;color:#666}a.gitment-header-issue-link:hover{color:#666}.gitment-comments-empty,.gitment-comments-error,.gitment-comments-loading{text-align:center;margin:50px 0}.gitment-comments-list{list-style:none;padding-left:0;margin:0 0 38px}.gitment-comment,.gitment-editor-container{position:relative;min-height:60px;padding-left:60px;margin:19px 0}.gitment-comment-avatar,.gitment-editor-avatar{float:left;margin-left:-60px}.gitment-comment-avatar,.gitment-comment-avatar-img,.gitment-editor-avatar svg,.gitment-editor-avatar-img{width:44px;height:44px;border-radius:3px}.gitment-editor-avatar .gitment-github-icon{fill:#fff;background-color:#333}.gitment-comment-main,.gitment-editor-main{position:relative;border:1px solid #CFD8DC;border-radius:0}.gitment-comment-main::after,.gitment-comment-main::before,.gitment-editor-main::after,.gitment-editor-main::before{position:absolute;top:11px;left:-16px;display:block;width:0;height:0;pointer-events:none;content:"";border-color:transparent;border-style:solid solid outset}.gitment-comment-main::before,.gitment-editor-main::before{border-width:8px;border-right-color:#CFD8DC}.gitment-comment-main::after,.gitment-editor-main::after{margin-top:1px;margin-left:2px;border-width:7px;border-right-color:#fff}.gitment-comment-header{margin:12px 15px;color:#666;background-color:#fff;border-radius:3px}.gitment-editor-header{padding:0;margin:0;border-bottom:1px solid #CFD8DC}a.gitment-comment-name,a.gitment-comment-name:visited{font-weight:600;color:#666}.gitment-editor-tabs{margin-bottom:-1px;margin-left:-1px}.gitment-editor-tab{display:inline-block;padding:11px 12px;font-size:14px;line-height:20px;color:#666;text-decoration:none;background-color:transparent;border-width:0 1px;border-style:solid;border-color:transparent;border-radius:0;white-space:nowrap;cursor:pointer;user-select:none;outline:0}.gitment-editor-tab.gitment-selected{color:#333;background-color:#fff;border-color:#CFD8DC}.gitment-editor-login{float:right;margin-top:-30px;margin-right:15px}a.gitment-editor-login-link,a.gitment-editor-login-link:visited,a.gitment-footer-project-link,a.gitment-footer-project-link:visited{color:#2196F3}a.gitment-editor-logout-link,a.gitment-editor-logout-link:visited{color:#666}a.gitment-editor-logout-link:hover{color:#2196F3;text-decoration:none}.gitment-comment-body{position:relative;margin:12px 15px;overflow:hidden;border-radius:3px}.gitment-comment-body-folded::after,.gitment-comment-body-folded::before{display:block!important;position:absolute;left:0;pointer-events:none;width:100%}.gitment-comment-body-folded{cursor:pointer}.gitment-comment-body-folded::before{content:"";top:0;bottom:50px;background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(255,255,255,.9));background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.9))}.gitment-comment-body-folded::after{content:"Click to Expand"!important;text-align:center;color:#666;height:50px;line-height:50px;bottom:0;background:rgba(255,255,255,.9)}.gitment-editor-body{margin:0}.gitment-comment-body>:first-child,.gitment-editor-preview>:first-child{margin-top:0!important}.gitment-comment-body>:last-child,.gitment-editor-preview>:last-child{margin-bottom:0!important}.gitment-editor-body textarea{display:block;width:100%;min-height:150px;max-height:500px;padding:16px;resize:vertical;max-width:100%;margin:0;font-size:14px;line-height:1.6;background-color:#fff;color:#333;vertical-align:middle;border:none;border-radius:0;outline:0;box-shadow:none;overflow:visible}.gitment-editor-body textarea:focus{background-color:#fff}.gitment-editor-preview{min-height:150px;padding:16px;background-color:transparent;width:100%;font-size:14px;line-height:1.5;word-wrap:break-word}.gitment-editor-footer{padding:0;margin-top:10px}.gitment-editor-footer::after{display:table;clear:both;content:""}a.gitment-editor-footer-tip{display:inline-block;padding-top:10px;font-size:12px;color:#666}a.gitment-editor-footer-tip:hover{color:#2196F3;text-decoration:none}.gitment-comments-pagination{list-style:none;text-align:right;border-radius:0;margin:-19px 0 19px}.gitment-comments-page-item{display:inline-block;cursor:pointer;border:1px solid #CFD8DC;margin-left:-1px;padding:.25rem .5rem}.gitment-comments-page-item.gitment-selected,.gitment-comments-page-item:hover{background-color:#f5f5f5}.gitment-comments-init-btn,.gitment-editor-submit{color:#fff;background-color:#00BCD4;position:relative;display:inline-block;padding:7px 13px;font-size:14px;font-weight:600;line-height:20px;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-size:110% 110%;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.gitment-comments-init-btn:hover,.gitment-editor-submit:hover{background-color:#00ACC1}.gitment-comments-init-btn:disabled,.gitment-editor-submit:disabled{color:rgba(255,255,255,.75);background-color:#4DD0E1;box-shadow:none}.gitment-editor-submit{float:right}.gitment-footer-container{margin-top:30px;margin-bottom:20px;text-align:right;font-size:12px}.gitment-markdown{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px;line-height:1.5;word-wrap:break-word}.gitment-markdown .pl-c{color:#969896}.gitment-markdown .pl-c1,.gitment-markdown .pl-s .pl-v{color:#0086b3}.gitment-markdown .pl-e,.gitment-markdown .pl-en{color:#795da3}.gitment-markdown .pl-s .pl-s1,.gitment-markdown .pl-smi{color:#333}.gitment-markdown .pl-ent{color:#63a35c}.gitment-markdown .pl-k{color:#a71d5d}.gitment-markdown .pl-pds,.gitment-markdown .pl-s,.gitment-markdown .pl-s .pl-pse .pl-s1,.gitment-markdown .pl-sr,.gitment-markdown .pl-sr .pl-cce,.gitment-markdown .pl-sr .pl-sra,.gitment-markdown .pl-sr .pl-sre{color:#183691}.gitment-markdown .pl-smw,.gitment-markdown .pl-v{color:#ed6a43}.gitment-markdown .pl-bu{color:#b52a1d}.gitment-markdown .pl-c2,.gitment-markdown .pl-ii{color:#f8f8f8;background-color:#b52a1d}.gitment-markdown .pl-c2::before{content:"^M"}.gitment-markdown .pl-sr .pl-cce{font-weight:700;color:#63a35c}.gitment-markdown .pl-ml{color:#693a17}.gitment-markdown .pl-mh,.gitment-markdown .pl-mh .pl-en,.gitment-markdown .pl-ms{font-weight:700;color:#1d3e81}.gitment-markdown .pl-mq{color:teal}.gitment-markdown .pl-mi{font-style:italic;color:#333}.gitment-markdown .pl-mb{font-weight:700;color:#333}.gitment-markdown .pl-md{color:#bd2c00;background-color:#ffecec}.gitment-markdown .pl-mi1{color:#55a532;background-color:#eaffea}.gitment-markdown .pl-mc{color:#ef9700;background-color:#ffe3b4}.gitment-markdown .pl-mi2{color:#d8d8d8;background-color:grey}.gitment-markdown .pl-mdr{font-weight:700;color:#795da3}.gitment-markdown .pl-mo{color:#1d3e81}.gitment-markdown .pl-ba{color:#595e62}.gitment-markdown .pl-sg{color:silver}.gitment-markdown .pl-corl{text-decoration:underline;color:#183691}.gitment-markdown .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.gitment-markdown hr::after,.gitment-markdown hr::before,.gitment-markdown::after,.gitment-markdown::before{display:table;content:""}.gitment-markdown a{background-color:transparent;-webkit-text-decoration-skip:objects;color:#0366d6;text-decoration:none}.gitment-markdown a:active,.gitment-markdown a:hover{outline-width:0}.gitment-markdown h1{margin:.67em 0}.gitment-markdown img{border-style:none}.gitment-markdown svg:not(:root){overflow:hidden}.gitment-markdown hr{box-sizing:content-box}.gitment-markdown input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.gitment-markdown [type=checkbox]{box-sizing:border-box;padding:0}.gitment-markdown *{box-sizing:border-box}.gitment-markdown a:hover{text-decoration:underline}.gitment-markdown strong{font-weight:600}.gitment-markdown td,.gitment-markdown th{padding:0}.gitment-markdown blockquote{margin:0}.gitment-markdown ol ol,.gitment-markdown ul ol{list-style-type:lower-roman}.gitment-markdown ol ol ol,.gitment-markdown ol ul ol,.gitment-markdown ul ol ol,.gitment-markdown ul ul ol{list-style-type:lower-alpha}.gitment-markdown dd{margin-left:0}.gitment-markdown code{font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace}.gitment-markdown pre{font:12px SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;word-wrap:normal}.gitment-markdown .pl-0{padding-left:0!important}.gitment-markdown .pl-1{padding-left:4px!important}.gitment-markdown .pl-2{padding-left:8px!important}.gitment-markdown .pl-3{padding-left:16px!important}.gitment-markdown .pl-4{padding-left:24px!important}.gitment-markdown .pl-5{padding-left:32px!important}.gitment-markdown .pl-6{padding-left:40px!important}.gitment-markdown>:first-child{margin-top:0!important}.gitment-markdown>:last-child{margin-bottom:0!important}.gitment-markdown a:not([href]){color:inherit;text-decoration:none}.gitment-markdown .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.gitment-markdown .anchor:focus{outline:0}.gitment-markdown blockquote,.gitment-markdown dl,.gitment-markdown ol,.gitment-markdown p,.gitment-markdown pre,.gitment-markdown table,.gitment-markdown ul{margin-top:0;margin-bottom:16px}.gitment-markdown hr{overflow:hidden;background:#e1e4e8;height:.25em;padding:0;margin:24px 0;border:0}.gitment-markdown blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5}.gitment-markdown h1,.gitment-markdown h2{padding-bottom:.3em;border-bottom:1px solid #eaecef}.gitment-markdown blockquote>:first-child{margin-top:0}.gitment-markdown blockquote>:last-child{margin-bottom:0}.gitment-markdown h1,.gitment-markdown h2,.gitment-markdown h3,.gitment-markdown h4,.gitment-markdown h5,.gitment-markdown h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.gitment-markdown h1 .octicon-link,.gitment-markdown h2 .octicon-link,.gitment-markdown h3 .octicon-link,.gitment-markdown h4 .octicon-link,.gitment-markdown h5 .octicon-link,.gitment-markdown h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.gitment-markdown h1:hover .anchor,.gitment-markdown h2:hover .anchor,.gitment-markdown h3:hover .anchor,.gitment-markdown h4:hover .anchor,.gitment-markdown h5:hover .anchor,.gitment-markdown h6:hover .anchor{text-decoration:none}.gitment-markdown h1:hover .anchor .octicon-link,.gitment-markdown h2:hover .anchor .octicon-link,.gitment-markdown h3:hover .anchor .octicon-link,.gitment-markdown h4:hover .anchor .octicon-link,.gitment-markdown h5:hover .anchor .octicon-link,.gitment-markdown h6:hover .anchor .octicon-link{visibility:visible}.gitment-markdown h1{font-size:2em}.gitment-markdown h2{font-size:1.5em}.gitment-markdown h3{font-size:1.25em}.gitment-markdown h4{font-size:1em}.gitment-markdown h5{font-size:.875em}.gitment-markdown h6{font-size:.85em;color:#6a737d}.gitment-markdown ol,.gitment-markdown ul{padding-left:2em}.gitment-markdown ol ol,.gitment-markdown ol ul,.gitment-markdown ul ol,.gitment-markdown ul ul{margin-top:0;margin-bottom:0}.gitment-markdown li>p{margin-top:16px}.gitment-markdown li+li{margin-top:.25em}.gitment-markdown dl{padding:0}.gitment-markdown dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.gitment-markdown dl dd{padding:0 16px;margin-bottom:16px}.gitment-markdown table{border-spacing:0;border-collapse:collapse;display:block;width:100%;overflow:auto}.gitment-markdown table th{font-weight:600}.gitment-markdown table td,.gitment-markdown table th{padding:6px 13px;border:1px solid #dfe2e5}.gitment-markdown table tr{background-color:#fff;border-top:1px solid #c6cbd1}.gitment-markdown table tr:nth-child(2n){background-color:#f5f5f5}.gitment-markdown img{max-width:100%;box-sizing:content-box;background-color:#fff}.gitment-markdown code{padding:.2em 0;margin:0;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:0}.gitment-markdown code::after,.gitment-markdown code::before{letter-spacing:-.2em;content:"\00a0"}.gitment-markdown pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:0 0;border:0}.gitment-markdown .highlight{margin-bottom:16px}.gitment-markdown .highlight pre{margin-bottom:0;word-break:normal}.gitment-markdown .highlight pre,.gitment-markdown pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f5f5f5;border-radius:0}.gitment-markdown pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.gitment-markdown pre code::after,.gitment-markdown pre code::before{content:normal}.gitment-markdown .full-commit .btn-outline:not(:disabled):hover{color:#005cc5;border-color:#005cc5}.gitment-markdown kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fcfcfc;border:1px solid #c6cbd1;border-bottom-color:#959da5;border-radius:0;box-shadow:inset 0 -1px 0 #959da5}.gitment-markdown :checked+.radio-label{position:relative;z-index:1;border-color:#0366d6}.gitment-markdown .task-list-item{list-style-type:none}.gitment-markdown .task-list-item+.task-list-item{margin-top:3px}.gitment-markdown .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.gitment-markdown hr{border-bottom-color:#eee} \ No newline at end of file diff --git a/lib/gitment/gitment-0.0.3.min.js b/lib/gitment/gitment-0.0.3.min.js new file mode 100644 index 0000000..9b2592d --- /dev/null +++ b/lib/gitment/gitment-0.0.3.min.js @@ -0,0 +1 @@ +var Gitment=function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=5)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.LS_ACCESS_TOKEN_KEY="gitment-comments-token",t.LS_USER_KEY="gitment-user-info",t.NOT_INITIALIZED_ERROR=new Error("Comments Not Initialized")},function(e,t,n){"use strict";(function(n){function r(e){return function(t,n,r){return r&&"function"==typeof r.value?(r.value=V(e,r.value),r.enumerable=!1,r.configurable=!0,r):Kt(e).apply(this,arguments)}}function i(e,t,n){var r="string"==typeof e?e:e.name||"",i="function"==typeof e?e:t,o="function"==typeof e?t:n;return wt("function"==typeof i,vt("m002")),wt(0===i.length,vt("m003")),wt("string"==typeof r&&r.length>0,"actions should have valid names, got: '"+r+"'"),z(r,i,o,void 0)}function o(e){return"function"==typeof e&&!0===e.isMobxAction}function a(e,t,n){var r=function(){return z(t,n,e,arguments)};r.isMobxAction=!0,Ct(e,t,r)}function s(e,t,n){function r(){a(u)}var i,a,s;"string"==typeof e?(i=e,a=t,s=n):(i=e.name||"Autorun@"+bt(),a=e,s=t),wt("function"==typeof a,vt("m004")),wt(!1===o(a),vt("m005")),s&&(a=a.bind(s));var u=new fn(i,function(){this.track(r)});return u.schedule(),u.getDisposer()}function u(e,t,n,r){var i,o,a,u;return"string"==typeof e?(i=e,o=t,a=n,u=r):(i="When@"+bt(),o=e,a=t,u=n),s(i,function(e){if(o.call(u)){e.dispose();var t=te();a.call(u),ne(t)}})}function c(e,t,n,r){function i(){s(h)}var a,s,u,c;"string"==typeof e?(a=e,s=t,u=n,c=r):(a=e.name||"AutorunAsync@"+bt(),s=e,u=t,c=n),wt(!1===o(s),vt("m006")),void 0===u&&(u=1),c&&(s=s.bind(c));var l=!1,h=new fn(a,function(){l||(l=!0,setTimeout(function(){l=!1,h.isDisposed||h.track(i)},u))});return h.schedule(),h.getDisposer()}function l(e,t,n){function r(){if(!u.isDisposed){var n=!1;u.track(function(){var t=e(u);n=Tt(i.compareStructural,o,t),o=t}),a&&i.fireImmediately&&t(o,u),a||!0!==n||t(o,u),a&&(a=!1)}}arguments.length>3&&yt(vt("m007")),Ve(e)&&yt(vt("m008"));var i;i="object"===(void 0===n?"undefined":Ut(n))?n:{},i.name=i.name||e.name||t.name||"Reaction@"+bt(),i.fireImmediately=!0===n||!0===i.fireImmediately,i.delay=i.delay||0,i.compareStructural=i.compareStructural||i.struct||!1,t=Yt(i.name,i.context?t.bind(i.context):t),i.context&&(e=e.bind(i.context));var o,a=!0,s=!1,u=new fn(i.name,function(){a||i.delay<1?r():s||(s=!0,setTimeout(function(){s=!1,r()},i.delay))});return u.schedule(),u.getDisposer()}function h(e){return ct(function(t,n,r,i,o){wt(void 0!==o,vt("m009")),wt("function"==typeof o.get,vt("m010")),Ze(Fe(t,""),n,o.get,o.set,e,!1)},function(e){var t=this.$mobx.values[e];if(void 0!==t)return t.get()},function(e,t){this.$mobx.values[e].set(t)},!1,!1)}function d(e,t){wt("function"==typeof e&&e.length<2,"createTransformer expects a function that accepts one argument");var n={},r=pn.resetId,i=function(r){function i(t,n){var i=r.call(this,function(){return e(n)},void 0,!1,"Transformer-"+e.name+"-"+t,void 0)||this;return i.sourceIdentifier=t,i.sourceObject=n,i}return Ht(i,r),i.prototype.onBecomeUnobserved=function(){var e=this.value;r.prototype.onBecomeUnobserved.call(this),delete n[this.sourceIdentifier],t&&t(e,this.sourceObject)},i}(sn);return function(e){r!==pn.resetId&&(n={},r=pn.resetId);var t=p(e),o=n[t];return o?o.get():(o=n[t]=new i(t,e),o.get())}}function p(e){if("string"==typeof e||"number"==typeof e)return e;if(null===e||"object"!==(void 0===e?"undefined":Ut(e)))throw new Error("[mobx] transform expected some kind of object or primitive value, got: "+e);var t=e.$transformId;return void 0===t&&(t=bt(),Ct(e,"$transformId",t)),t}function f(e,t){return J()||console.warn(vt("m013")),Jt(e,{context:t}).get()}function m(e){for(var t=[],n=1;n=2,vt("m014")),wt("object"===(void 0===e?"undefined":Ut(e)),vt("m015")),wt(!Tn(e),vt("m016")),n.forEach(function(e){wt("object"===(void 0===e?"undefined":Ut(e)),vt("m017")),wt(!A(e),vt("m018"))});for(var r=Fe(e),i={},o=n.length-1;o>=0;o--){var a=n[o];for(var s in a)if(!0!==i[s]&&Lt(a,s)){if(i[s]=!0,e===a&&!jt(e,s))continue;var u=Object.getOwnPropertyDescriptor(a,s);Xe(r,s,u,t)}}return e}function b(e,t){return y(at(e,t))}function y(e){var t={name:e.name};return e.observing&&e.observing.length>0&&(t.dependencies=St(e.observing).map(y)),t}function w(e,t){return _(at(e,t))}function _(e){var t={name:e.name};return se(e)&&(t.observers=ue(e).map(_)),t}function x(e,t,n){return"function"==typeof n?O(e,t,n):S(e,t)}function S(e,t){return st(e).intercept(t)}function O(e,t,n){return st(e,t).intercept(n)}function k(e,t){if(null===e||void 0===e)return!1;if(void 0!==t){if(!1===ot(e))return!1;var n=at(e,t);return cn(n)}return cn(e)}function A(e,t){if(null===e||void 0===e)return!1;if(void 0!==t){if(qe(e)||Tn(e))throw new Error(vt("m019"));if(ot(e)){var n=e.$mobx;return n.values&&!!n.values[t]}return!1}return ot(e)||!!e.$mobx||an(e)||gn(e)||cn(e)}function E(e){if(void 0===e&&(e=void 0),"string"==typeof arguments[1])return Ft.apply(null,arguments);if(wt(arguments.length<=1,vt("m021")),wt(!Ve(e),vt("m020")),A(e))return e;var t=Be(e,void 0,void 0);return t!==e?t:nn.box(e)}function T(e){yt("Expected one or two arguments to observable."+e+". Did you accidentally try to use observable."+e+" as decorator?")}function L(e){return wt(!!e,":("),ct(function(t,n,r,i,o){Rt(t,n),wt(!o||!o.get,vt("m022")),Qe(Fe(t,void 0),n,r,e)},function(e){var t=this.$mobx.values[e];if(void 0!==t)return t.get()},function(e,t){rt(this,e,t)},!0,!1)}function C(e,t,n,r){return"function"==typeof n?j(e,t,n,r):I(e,t,n)}function I(e,t,n){return st(e).observe(t,n)}function j(e,t,n,r){return st(e,t).observe(n,r)}function R(e,t,n){function r(r){return t&&n.push([e,r]),r}if(void 0===t&&(t=!0),void 0===n&&(n=[]),A(e)){if(t&&null===n&&(n=[]),t&&null!==e&&"object"===(void 0===e?"undefined":Ut(e)))for(var i=0,o=n.length;i0,"actions should have valid names, got: '"+e+"'");var n=function(){return z(e,t,this,arguments)};return n.originalFn=t,n.isMobxAction=!0,n}function z(e,t,n,r){var i=B(e,t,n,r);try{return t.apply(n,r)}finally{$(i)}}function B(e,t,n,r){var i=Se()&&!!e,o=0;if(i){o=Date.now();var a=r&&r.length||0,s=new Array(a);if(a>0)for(var u=0;u0;pn.computationDepth>0&&t&&yt(vt("m031")+e.name),!pn.allowStateChanges&&t&&yt(vt(pn.strictMode?"m030a":"m030b")+e.name)}function X(e,t,n){re(e),e.newObserving=new Array(e.observing.length+100),e.unboundDepsCount=0,e.runId=++pn.runId;var r=pn.trackingDerivation;pn.trackingDerivation=e;var i;try{i=t.call(n)}catch(e){i=new ln(e)}return pn.trackingDerivation=r,Q(e),i}function Q(e){var t=e.observing,n=e.observing=e.newObserving,r=un.UP_TO_DATE;e.newObserving=null;for(var i=0,o=e.unboundDepsCount,a=0;ar&&(r=s.dependenciesState)}for(n.length=i,o=t.length;o--;){var s=t[o];0===s.diffValue&&le(s,e),s.diffValue=0}for(;i--;){var s=n[i];1===s.diffValue&&(s.diffValue=0,ce(s,e))}r!==un.UP_TO_DATE&&(e.dependenciesState=r,e.onBecomeStale())}function Z(e){var t=e.observing;e.observing=[];for(var n=t.length;n--;)le(t[n],e);e.dependenciesState=un.NOT_TRACKING}function ee(e){var t=te(),n=e();return ne(t),n}function te(){var e=pn.trackingDerivation;return pn.trackingDerivation=null,e}function ne(e){pn.trackingDerivation=e}function re(e){if(e.dependenciesState!==un.UP_TO_DATE){e.dependenciesState=un.UP_TO_DATE;for(var t=e.observing,n=t.length;n--;)t[n].lowestObserverState=un.UP_TO_DATE}}function ie(){var e=gt(),t=pn;if(e.__mobservableTrackingStack||e.__mobservableViewStack)throw new Error("[mobx] An incompatible version of mobservable is already loaded.");if(e.__mobxGlobal&&e.__mobxGlobal.version!==t.version)throw new Error("[mobx] An incompatible version of mobx is already loaded.");e.__mobxGlobal?pn=e.__mobxGlobal:e.__mobxGlobal=t}function oe(){return pn}function ae(){pn.resetId++;var e=new dn;for(var t in e)-1===hn.indexOf(t)&&(pn[t]=e[t]);pn.allowStateChanges=!pn.strictMode}function se(e){return e.observers&&e.observers.length>0}function ue(e){return e.observers}function ce(e,t){var n=e.observers.length;n&&(e.observersIndexes[t.__mapid]=n),e.observers[n]=t,e.lowestObserverState>t.dependenciesState&&(e.lowestObserverState=t.dependenciesState)}function le(e,t){if(1===e.observers.length)e.observers.length=0,he(e);else{var n=e.observers,r=e.observersIndexes,i=n.pop();if(i!==t){var o=r[t.__mapid]||0;o?r[i.__mapid]=o:delete r[i.__mapid],n[o]=i}delete r[t.__mapid]}}function he(e){e.isPendingUnobservation||(e.isPendingUnobservation=!0,pn.pendingUnobservations.push(e))}function de(){pn.inBatch++}function pe(){if(0==--pn.inBatch){we();for(var e=pn.pendingUnobservations,t=0;t=0&&pn.globalReactionErrorHandlers.splice(t,1)}}function we(){pn.inBatch>0||pn.isRunningReactions||vn(_e)}function _e(){pn.isRunningReactions=!0;for(var e=pn.pendingReactions,t=0;e.length>0;){++t===mn&&(console.error("Reaction doesn't converge to a stable state after "+mn+" iterations. Probably there is a cycle in the reactive function: "+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r0}function Le(e,t){var n=e.interceptors||(e.interceptors=[]);return n.push(t),xt(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function Ce(e,t){var n=te();try{var r=e.interceptors;if(r)for(var i=0,o=r.length;i0}function je(e,t){var n=e.changeListeners||(e.changeListeners=[]);return n.push(t),xt(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function Re(e,t){var n=te(),r=e.changeListeners;if(r){r=r.slice();for(var i=0,o=r.length;i=this.length,value:tt?" (... and "+(e.length-t)+"more)":""):""}function kt(e){return null!==e&&"object"===(void 0===e?"undefined":Ut(e))}function At(e){if(null===e||"object"!==(void 0===e?"undefined":Ut(e)))return!1;var t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function Et(){for(var e=arguments[0],t=1,n=arguments.length;t=0;i--)if(!Mt(e[i],t[i]))return!1;return!0}if(r){if(e.size!==t.size)return!1;var o=!0;return e.forEach(function(e,n){o=o&&Mt(t.get(n),e)}),o}if("object"===(void 0===e?"undefined":Ut(e))&&"object"===(void 0===t?"undefined":Ut(t))){if(null===e||null===t)return!1;if(Vt(e)&&Vt(t))return e.size===t.size&&Mt(nn.shallowMap(e).entries(),nn.shallowMap(t).entries());if(Pt(e).length!==Pt(t).length)return!1;for(var a in e){if(!(a in t))return!1;if(!Mt(e[a],t[a]))return!1}return!0}return!1}function Dt(e,t){var n="isMobX"+e;return t.prototype[n]=!0,function(e){return kt(e)&&!0===e[n]}}function Nt(e){return Array.isArray(e)||qe(e)}function Vt(e){return zt(e)||Tn(e)}function zt(e){return void 0!==gt().Map&&e instanceof gt().Map}function Bt(){return"function"==typeof Symbol&&Symbol.toPrimitive||"@@toPrimitive"}function $t(e){return null===e?null:"object"===(void 0===e?"undefined":Ut(e))?""+e:e}var Ut="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ht=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(t,"__esModule",{value:!0}),t.extras={allowStateChanges:K,deepEqual:Mt,getAtom:at,getDebugName:ut,getDependencyTree:b,getAdministration:st,getGlobalState:oe,getObserverTree:w,isComputingDerivation:J,isSpyEnabled:Se,onReactionError:ye,reserveArrayBuffer:We,resetGlobalState:ae,shareGlobalState:ie,spyReport:Oe,spyReportEnd:Ae,spyReportStart:ke,setReactionScheduler:xe},"object"===("undefined"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__?"undefined":Ut(__MOBX_DEVTOOLS_GLOBAL_HOOK__))&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx(e.exports),e.exports.default=e.exports;var Kt=ct(function(e,t,n,r,i){var o=r&&1===r.length?r[0]:n.name||t||"";Ct(e,t,Yt(o,n))},function(e){return this[e]},function(){wt(!1,vt("m001"))},!1,!0),Gt=ct(function(e,t,n){a(e,t,n)},function(e){return this[e]},function(){wt(!1,vt("m001"))},!1,!1),Yt=function(e,t,n,i){return 1===arguments.length&&"function"==typeof e?V(e.name||"",e):2===arguments.length&&"function"==typeof t?V(e,t):1===arguments.length&&"string"==typeof e?r(e):r(t).apply(null,arguments)};t.action=Yt,Yt.bound=function(e,t,n){if("function"==typeof e){var r=V("",e);return r.autoBind=!0,r}return Gt.apply(null,arguments)},t.runInAction=i,t.isAction=o,t.autorun=s,t.when=u,t.autorunAsync=c,t.reaction=l;var Wt=h(!1),qt=h(!0),Jt=function(e,t,n){if("string"==typeof t)return Wt.apply(null,arguments);wt("function"==typeof e,vt("m011")),wt(arguments.length<3,vt("m012"));var r="object"===(void 0===t?"undefined":Ut(t))?t:{};return r.setter="function"==typeof t?t:r.setter,new sn(e,r.context,r.compareStructural||r.struct||!1,r.name||e.name||"",r.setter)};t.computed=Jt,Jt.struct=qt,t.createTransformer=d,t.expr=f,t.extendObservable=m,t.extendShallowObservable=v,t.intercept=x,t.isComputed=k,t.isObservable=A;var Ft=L(Be),Xt=L($e),Qt=L(Ue),Zt=L(He),en=L(Ke),tn=function(){function e(){}return e.prototype.box=function(e,t){return arguments.length>2&&T("box"),new Pn(e,Be,t)},e.prototype.shallowBox=function(e,t){return arguments.length>2&&T("shallowBox"),new Pn(e,Ue,t)},e.prototype.array=function(e,t){return arguments.length>2&&T("array"),new Sn(e,Be,t)},e.prototype.shallowArray=function(e,t){return arguments.length>2&&T("shallowArray"),new Sn(e,Ue,t)},e.prototype.map=function(e,t){return arguments.length>2&&T("map"),new En(e,Be,t)},e.prototype.shallowMap=function(e,t){return arguments.length>2&&T("shallowMap"),new En(e,Ue,t)},e.prototype.object=function(e,t){arguments.length>2&&T("object");var n={};return Fe(n,t),m(n,e),n},e.prototype.shallowObject=function(e,t){arguments.length>2&&T("shallowObject");var n={};return Fe(n,t),v(n,e),n},e.prototype.ref=function(){return arguments.length<2?ze(Ue,arguments[0]):Qt.apply(null,arguments)},e.prototype.shallow=function(){return arguments.length<2?ze($e,arguments[0]):Xt.apply(null,arguments)},e.prototype.deep=function(){return arguments.length<2?ze(Be,arguments[0]):Ft.apply(null,arguments)},e.prototype.struct=function(){return arguments.length<2?ze(He,arguments[0]):Zt.apply(null,arguments)},e}();t.IObservableFactories=tn;var nn=E;t.observable=nn,Object.keys(tn.prototype).forEach(function(e){return nn[e]=tn.prototype[e]}),nn.deep.struct=nn.struct,nn.ref.struct=function(){return arguments.length<2?ze(Ke,arguments[0]):en.apply(null,arguments)},t.observe=C,t.toJS=R,t.transaction=P,t.whyRun=N,t.useStrict=U,t.isStrictModeEnabled=H;var rn=function(){function e(e){void 0===e&&(e="Atom@"+bt()),this.name=e,this.isPendingUnobservation=!0,this.observers=[],this.observersIndexes={},this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=un.NOT_TRACKING}return e.prototype.onBecomeUnobserved=function(){},e.prototype.reportObserved=function(){fe(this)},e.prototype.reportChanged=function(){de(),me(this),pe()},e.prototype.toString=function(){return this.name},e}();t.BaseAtom=rn;var on=function(e){function t(t,n,r){void 0===t&&(t="Atom@"+bt()),void 0===n&&(n=Bn),void 0===r&&(r=Bn);var i=e.call(this,t)||this;return i.name=t,i.onBecomeObservedHandler=n,i.onBecomeUnobservedHandler=r,i.isPendingUnobservation=!1,i.isBeingTracked=!1,i}return Ht(t,e),t.prototype.reportObserved=function(){return de(),e.prototype.reportObserved.call(this),this.isBeingTracked||(this.isBeingTracked=!0,this.onBecomeObservedHandler()),pe(),!!pn.trackingDerivation},t.prototype.onBecomeUnobserved=function(){this.isBeingTracked=!1,this.onBecomeUnobservedHandler()},t}(rn);t.Atom=on;var an=Dt("Atom",rn),sn=function(){function e(e,t,n,r,i){this.derivation=e,this.scope=t,this.compareStructural=n,this.dependenciesState=un.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isPendingUnobservation=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=un.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid="#"+bt(),this.value=void 0,this.isComputing=!1,this.isRunningSetter=!1,this.name=r||"ComputedValue@"+bt(),i&&(this.setter=V(r+"-setter",i))}return e.prototype.onBecomeStale=function(){ge(this)},e.prototype.onBecomeUnobserved=function(){Z(this),this.value=void 0},e.prototype.get=function(){wt(!this.isComputing,"Cycle detected in computation "+this.name,this.derivation),0===pn.inBatch?(de(),q(this)&&(this.value=this.computeValue(!1)),pe()):(fe(this),q(this)&&this.trackAndCompute()&&ve(this));var e=this.value;if(W(e))throw e.cause;return e},e.prototype.peek=function(){var e=this.computeValue(!1);if(W(e))throw e.cause;return e},e.prototype.set=function(e){if(this.setter){wt(!this.isRunningSetter,"The setter of computed value '"+this.name+"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?"),this.isRunningSetter=!0;try{this.setter.call(this.scope,e)}finally{this.isRunningSetter=!1}}else wt(!1,"[ComputedValue '"+this.name+"'] It is not possible to assign a new value to a computed value.")},e.prototype.trackAndCompute=function(){Se()&&Oe({object:this.scope,type:"compute",fn:this.derivation});var e=this.value,t=this.value=this.computeValue(!0);return W(t)||Tt(this.compareStructural,t,e)},e.prototype.computeValue=function(e){this.isComputing=!0,pn.computationDepth++;var t;if(e)t=X(this,this.derivation,this.scope);else try{t=this.derivation.call(this.scope)}catch(e){t=new ln(e)}return pn.computationDepth--,this.isComputing=!1,t},e.prototype.observe=function(e,t){var n=this,r=!0,i=void 0;return s(function(){var o=n.get();if(!r||t){var a=te();e({type:"update",object:n,newValue:o,oldValue:i}),ne(a)}r=!1,i=o})},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},e.prototype.valueOf=function(){return $t(this.get())},e.prototype.whyRun=function(){var e=Boolean(pn.trackingDerivation),t=St(this.isComputing?this.newObserving:this.observing).map(function(e){return e.name}),n=St(ue(this).map(function(e){return e.name}));return"\nWhyRun? computation '"+this.name+"':\n * Running because: "+(e?"[active] the value of this computation is needed by a reaction":this.isComputing?"[get] The value of this computed was requested outside a reaction":"[idle] not running at the moment")+"\n"+(this.dependenciesState===un.NOT_TRACKING?vt("m032"):" * This computation will re-run if any of the following observables changes:\n "+Ot(t)+"\n "+(this.isComputing&&e?" (... or any observable accessed during the remainder of the current run)":"")+"\n\t"+vt("m038")+"\n\n * If the outcome of this computation changes, the following observers will be re-run:\n "+Ot(n)+"\n")},e}();sn.prototype[Bt()]=sn.prototype.valueOf;var un,cn=Dt("ComputedValue",sn);!function(e){e[e.NOT_TRACKING=-1]="NOT_TRACKING",e[e.UP_TO_DATE=0]="UP_TO_DATE",e[e.POSSIBLY_STALE=1]="POSSIBLY_STALE",e[e.STALE=2]="STALE"}(un||(un={})),t.IDerivationState=un;var ln=function(){function e(e){this.cause=e}return e}();t.untracked=ee;var hn=["mobxGuid","resetId","spyListeners","strictMode","runId"],dn=function(){function e(){this.version=5,this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.strictMode=!1,this.resetId=0,this.spyListeners=[],this.globalReactionErrorHandlers=[]}return e}(),pn=new dn,fn=function(){function e(e,t){void 0===e&&(e="Reaction@"+bt()),this.name=e,this.onInvalidate=t,this.observing=[],this.newObserving=[],this.dependenciesState=un.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid="#"+bt(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1}return e.prototype.onBecomeStale=function(){this.schedule()},e.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,pn.pendingReactions.push(this),we())},e.prototype.isScheduled=function(){return this._isScheduled},e.prototype.runReaction=function(){this.isDisposed||(de(),this._isScheduled=!1,q(this)&&(this._isTrackPending=!0,this.onInvalidate(),this._isTrackPending&&Se()&&Oe({object:this,type:"scheduled-reaction"})),pe())},e.prototype.track=function(e){de();var t,n=Se();n&&(t=Date.now(),ke({object:this,type:"reaction",fn:e})),this._isRunning=!0;var r=X(this,e,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&Z(this),W(r)&&this.reportExceptionInDerivation(r.cause),n&&Ae({time:Date.now()-t}),pe()},e.prototype.reportExceptionInDerivation=function(e){var t=this;if(this.errorHandler)return void this.errorHandler(e,this);var n="[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '"+this,r=vt("m037");console.error(n||r,e),Se()&&Oe({type:"error",message:n,error:e,object:this}),pn.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(de(),Z(this),pe()))},e.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e.$mobx=this,e.onError=be,e},e.prototype.toString=function(){return"Reaction["+this.name+"]"},e.prototype.whyRun=function(){var e=St(this._isRunning?this.newObserving:this.observing).map(function(e){return e.name});return"\nWhyRun? reaction '"+this.name+"':\n * Status: ["+(this.isDisposed?"stopped":this._isRunning?"running":this.isScheduled()?"scheduled":"idle")+"]\n * This reaction will re-run if any of the following observables changes:\n "+Ot(e)+"\n "+(this._isRunning?" (... or any observable accessed during the remainder of the current run)":"")+"\n\t"+vt("m038")+"\n"},e}();t.Reaction=fn;var mn=100,vn=function(e){return e()},gn=Dt("Reaction",fn),bn={spyReportEnd:!0};t.spy=Ee,t.asReference=Pe,t.asStructure=Me,t.asFlat=De,t.asMap=Ne,t.isModifierDescriptor=Ve;var yn=function(){var e=!1,t={};return Object.defineProperty(t,"0",{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),wn=0,_n=function(){function e(){}return e}();_n.prototype=[];var xn=function(){function e(e,t,n,r){this.array=n,this.owned=r,this.lastKnownLength=0,this.interceptors=null,this.changeListeners=null,this.atom=new rn(e||"ObservableArray@"+bt()),this.enhancer=function(n,r){return t(n,r,e+"[..]")}}return e.prototype.intercept=function(e){return Le(this,e)},e.prototype.observe=function(e,t){return void 0===t&&(t=!1),t&&e({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),je(this,e)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if("number"!=typeof e||e<0)throw new Error("[mobx.array] Out of range: "+e);var t=this.values.length;if(e!==t)if(e>t){for(var n=new Array(e-t),r=0;r0&&e+t+1>wn&&We(e+t+1)},e.prototype.spliceWithArray=function(e,t,n){var r=this;F(this.atom);var i=this.values.length;if(void 0===e?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=1===arguments.length?i-e:void 0===t||null===t?0:Math.max(0,Math.min(t,i-e)),void 0===n&&(n=[]),Te(this)){var o=Ce(this,{object:this.array,type:"splice",index:e,removedCount:t,added:n});if(!o)return Vn;t=o.removedCount,n=o.added}n=n.map(function(e){return r.enhancer(e,void 0)});var a=n.length-t;this.updateArrayLength(i,a);var s=this.spliceItemsIntoValues(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice(e,n,s),s},e.prototype.spliceItemsIntoValues=function(e,t,n){if(n.length<1e4)return(i=this.values).splice.apply(i,[e,t].concat(n));var r=this.values.slice(e,e+t);return this.values=this.values.slice(0,e).concat(n,this.values.slice(e+t)),r;var i},e.prototype.notifyArrayChildUpdate=function(e,t,n){var r=!this.owned&&Se(),i=Ie(this),o=i||r?{object:this.array,type:"update",index:e,newValue:t,oldValue:n}:null;r&&ke(o),this.atom.reportChanged(),i&&Re(this,o),r&&Ae()},e.prototype.notifyArraySplice=function(e,t,n){var r=!this.owned&&Se(),i=Ie(this),o=i||r?{object:this.array,type:"splice",index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&ke(o),this.atom.reportChanged(),i&&Re(this,o),r&&Ae()},e}(),Sn=function(e){function t(t,n,r,i){void 0===r&&(r="ObservableArray@"+bt()),void 0===i&&(i=!1);var o=e.call(this)||this,a=new xn(r,n,o,i);return It(o,"$mobx",a),t&&t.length?(a.updateArrayLength(0,t.length),a.values=t.map(function(e){return n(e,void 0,r+"[..]")}),a.notifyArraySplice(0,a.values.slice(),Vn)):a.values=[],yn&&Object.defineProperty(a.array,"0",On),o}return Ht(t,e),t.prototype.intercept=function(e){return this.$mobx.intercept(e)},t.prototype.observe=function(e,t){return void 0===t&&(t=!1),this.$mobx.observe(e,t)},t.prototype.clear=function(){return this.splice(0)},t.prototype.concat=function(){for(var e=[],t=0;t-1&&(this.splice(t,1),!0)},t.prototype.move=function(e,t){function n(e){if(e<0)throw new Error("[mobx.array] Index out of bounds: "+e+" is negative");var t=this.$mobx.values.length;if(e>=t)throw new Error("[mobx.array] Index out of bounds: "+e+" is not smaller than "+t)}if(n.call(this,e),n.call(this,t),e!==t){var r,i=this.$mobx.values;r=e"+n.reactions.heart+" Liked":"")+"\n ",s?(a.classList.add("liked"),a.onclick=function(){return t.unlike()}):(a.classList.remove("liked"),a.onclick=function(){return t.like()}),o.appendChild(a);var u=document.createElement("span");u.innerHTML="\n "+(n.comments?" • "+n.comments+" Comments":"")+"\n ",o.appendChild(u);var l=document.createElement("a");return l.className="gitment-header-issue-link",l.href=n.html_url,l.target="_blank",l.innerText="Issue Page",o.appendChild(l),o}function i(e,t){var n=e.meta,r=e.comments,i=e.commentReactions,o=e.currentPage,a=e.user,s=e.error,u=document.createElement("div");if(u.lang="en-US",u.className="gitment-container gitment-comments-container",s){var h=document.createElement("div");if(h.className="gitment-comments-error",s===l.NOT_INITIALIZED_ERROR&&a.login&&a.login.toLowerCase()===t.owner.toLowerCase()){var d=document.createElement("div"),p=document.createElement("button");p.className="gitment-comments-init-btn",p.onclick=function(){p.setAttribute("disabled",!0),t.init().catch(function(e){p.removeAttribute("disabled"),alert(e)})},p.innerText="Initialize Comments",d.appendChild(p),h.appendChild(d)}else h.innerText=s;return u.appendChild(h),u}if(void 0===r){var f=document.createElement("div");return f.innerText="Loading comments...",f.className="gitment-comments-loading",u.appendChild(f),u}if(!r.length){var m=document.createElement("div");return m.className="gitment-comments-empty",m.innerText="No Comment Yet",u.appendChild(m),u}var v=document.createElement("ul");if(v.className="gitment-comments-list",r.forEach(function(e){var n=new Date(e.created_at),r=new Date(e.updated_at),o=document.createElement("li");o.className="gitment-comment",o.innerHTML='\n \n \n \n
\n
\n \n '+e.user.login+'\n \n commented on\n '+n.toDateString()+"\n "+(n.toString()!==r.toString()?' • edited':"")+'\n
'+c.reply+'
\n
'+c.heart+" "+(e.reactions.heart||"")+'
\n
\n
'+e.body_html+"
\n
\n ";var s=o.querySelector(".gitment-comment-like-btn");i[e.id]&&i[e.id].find(function(e){return"heart"===e.content&&e.user.login===a.login})?(s.classList.add("liked"),s.onclick=function(){return t.unlikeAComment(e.id)}):(s.classList.remove("liked"),s.onclick=function(){return t.likeAComment(e.id)}),o.querySelector(".gitment-comment-reply-btn").onclick=function(){return t.replyAComment(e.user.login)};var u=document.createElement("img"),l=o.querySelector(".gitment-comment-body");u.className="gitment-hidden",u.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",u.onload=function(){l.clientHeight>t.maxCommentHeight&&(l.classList.add("gitment-comment-body-folded"),l.style.maxHeight=t.maxCommentHeight+"px",l.title="Click to Expand",l.onclick=function(){l.classList.remove("gitment-comment-body-folded"),l.style.maxHeight="",l.title="",l.onclick=null})},o.appendChild(u),v.appendChild(o)}),u.appendChild(v),n){var g=Math.ceil(n.comments/t.perPage);if(g>1){var b=document.createElement("ul");if(b.className="gitment-comments-pagination",o>1){var y=document.createElement("li");y.className="gitment-comments-page-item",y.innerText="Previous",y.onclick=function(){return t.goto(o-1)},b.appendChild(y)}for(var w=1;w<=g;w++)!function(e){var n=document.createElement("li");n.className="gitment-comments-page-item",n.innerText=e,n.onclick=function(){return t.goto(e)},o===e&&n.classList.add("gitment-selected"),b.appendChild(n)}(w);if(o\n \n ':n.isLoggingIn?'
'+c.spinner+"
":'\n '+c.github+"\n ")+'\n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n ",n.login&&(i.querySelector(".gitment-editor-logout-link").onclick=function(){return t.logout()});var s=i.querySelector(".gitment-editor-write-field"),l=i.querySelector(".gitment-editor-preview-field"),h=s.querySelector("textarea");h.oninput=function(){h.style.height="auto";var e=window.getComputedStyle(h,null),t=parseInt(e.height,10),n=h.clientHeight,r=h.scrollHeight;n1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"https://api.github.com",i=new XMLHttpRequest,o=localStorage.getItem(a.LS_ACCESS_TOKEN_KEY),s=""+r+t,c=null;"GET"!==e&&"DELETE"!==e||(s+=u.stringify(n));var l=new Promise(function(e,t){i.addEventListener("load",function(){var n=i.getResponseHeader("content-type"),r=i.responseText;if(!/json/.test(n))return void e(r);var o=i.responseText?JSON.parse(r):{};o.message?t(new Error(o.message)):e(o)}),i.addEventListener("error",function(e){return t(e)})});return i.open(e,s,!0),i.setRequestHeader("Accept","application/vnd.github.squirrel-girl-preview, application/vnd.github.html+json"),o&&i.setRequestHeader("Authorization","token "+o),"GET"!==e&&"DELETE"!==e&&(c=JSON.stringify(n),i.setRequestHeader("Content-Type","application/json")),i.send(c),l}}Object.defineProperty(t,"__esModule",{value:!0}),t.http=t.Query=t.isString=void 0;var o=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.getTargetContainer=r;var a=n(0),s=t.isString=function(e){return"[object String]"===toString.call(e)},u=t.Query={parse:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.search;if(!e)return{};var t="?"===e[0]?e.substring(1):e,n={};return t.split("&").forEach(function(e){var t=e.split("="),r=o(t,2),i=r[0],a=r[1];i&&(n[i]=a)}),n},stringify:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"?",n=Object.keys(e).map(function(t){return t+"="+encodeURIComponent(e[t]||"")}).join("&");return n?t+n:""}};t.http={get:i("GET"),post:i("POST"),delete:i("DELETE"),put:i("PUT")}},function(e,t,n){"use strict";var r,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(e){"object"===("undefined"==typeof window?"undefined":i(window))&&(r=window)}e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){e[t]=function(n){var r=(0,u.getTargetContainer)(n),i=e.theme[t]||e.defaultTheme[t];return(0,a.autorun)(function(){var t=i(e.state,e);r.firstChild?r.replaceChild(t,r.firstChild):r.appendChild(t)}),r}}var o=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};r(this,e),this.defaultTheme=l.default,this.useTheme(l.default),Object.assign(this,{id:window.location.href,title:window.document.title,link:window.location.href,desc:"",labels:[],theme:l.default,oauth:{},perPage:20,maxCommentHeight:250},n),this.useTheme(this.theme);var i={};try{var o=localStorage.getItem(s.LS_USER_KEY);this.accessToken&&o&&Object.assign(i,JSON.parse(o),{fromCache:!0})}catch(e){localStorage.removeItem(s.LS_USER_KEY)}this.state=(0,a.observable)({user:i,error:null,meta:{},comments:void 0,reactions:[],commentReactions:{},currentPage:1});var c=u.Query.parse();if(c.code){var h=this.oauth,d=h.client_id,p=h.client_secret,f=c.code;delete c.code;var m=u.Query.stringify(c),v=""+window.location.origin+window.location.pathname+m+window.location.hash;history.replaceState({},"",v),Object.assign(this,{id:v,link:v},n),this.state.user.isLoggingIn=!0,u.http.post("https://gh-oauth.imsun.net",{code:f,client_id:d,client_secret:p},"").then(function(e){t.accessToken=e.access_token,t.update()}).catch(function(e){t.state.user.isLoggingIn=!1,alert(e)})}else this.update()}return o(e,[{key:"accessToken",get:function(){return localStorage.getItem(s.LS_ACCESS_TOKEN_KEY)},set:function(e){localStorage.setItem(s.LS_ACCESS_TOKEN_KEY,e)}},{key:"loginLink",get:function(){var e=this.oauth.redirect_uri||window.location.href,t=Object.assign({scope:"public_repo",redirect_uri:e},this.oauth);return"https://github.com/login/oauth/authorize"+u.Query.stringify(t)}}]),o(e,[{key:"init",value:function(){var e=this;return this.createIssue().then(function(){return e.loadComments()}).then(function(t){return e.state.error=null,t})}},{key:"useTheme",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.theme=t,Object.keys(this.theme).forEach(function(t){return i(e,t)})}},{key:"update",value:function(){var e=this;return Promise.all([this.loadMeta(),this.loadUserInfo()]).then(function(){return Promise.all([e.loadComments().then(function(){return e.loadCommentReactions()}),e.loadReactions()])}).catch(function(t){return e.state.error=t})}},{key:"markdown",value:function(e){return u.http.post("/markdown",{text:e,mode:"gfm"})}},{key:"createIssue",value:function(){var e=this,t=this.id,n=this.owner,r=this.repo,i=this.title,o=this.link,a=this.desc,s=this.labels;return u.http.post("/repos/"+n+"/"+r+"/issues",{title:i,labels:s.concat(["gitment",t]),body:o+"\n\n"+a}).then(function(t){return e.state.meta=t,t})}},{key:"getIssue",value:function(){return this.state.meta.id?Promise.resolve(this.state.meta):this.loadMeta()}},{key:"post",value:function(e){var t=this;return this.getIssue().then(function(t){return u.http.post(t.comments_url,{body:e},"")}).then(function(e){t.state.meta.comments++;var n=Math.ceil(t.state.meta.comments/t.perPage);return t.state.currentPage===n&&t.state.comments.push(e),e})}},{key:"loadMeta",value:function(){var e=this,t=this.id,n=this.owner,r=this.repo;return u.http.get("/repos/"+n+"/"+r+"/issues",{creator:n,labels:t}).then(function(t){return t.length?(e.state.meta=t[0],t[0]):Promise.reject(s.NOT_INITIALIZED_ERROR)})}},{key:"loadComments",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.currentPage;return this.getIssue().then(function(n){return u.http.get(n.comments_url,{page:t,per_page:e.perPage},"")}).then(function(t){return e.state.comments=t,t})}},{key:"loadUserInfo",value:function(){var e=this;return this.accessToken?u.http.get("/user").then(function(t){return e.state.user=t,localStorage.setItem(s.LS_USER_KEY,JSON.stringify(t)),t}):(this.logout(),Promise.resolve({}))}},{key:"loadReactions",value:function(){var e=this;return this.accessToken?this.getIssue().then(function(e){return e.reactions.total_count?u.http.get(e.reactions.url,{},""):[]}).then(function(t){return e.state.reactions=t,t}):(this.state.reactions=[],Promise.resolve([]))}},{key:"loadCommentReactions",value:function(){var e=this;if(!this.accessToken)return this.state.commentReactions={},Promise.resolve([]);var t=this.state.comments,n={};return Promise.all(t.map(function(t){if(!t.reactions.total_count)return[];var n=e.owner,r=e.repo;return u.http.get("/repos/"+n+"/"+r+"/issues/comments/"+t.id+"/reactions",{})})).then(function(r){return t.forEach(function(e,t){n[e.id]=r[t]}),e.state.commentReactions=n,n})}},{key:"login",value:function(){window.location.href=this.loginLink}},{key:"logout",value:function(){localStorage.removeItem(s.LS_ACCESS_TOKEN_KEY),localStorage.removeItem(s.LS_USER_KEY),this.state.user={}}},{key:"goto",value:function(e){return this.state.currentPage=e,this.state.comments=void 0,this.loadComments(e)}},{key:"like",value:function(){var e=this;if(!this.accessToken)return alert("Login to Like"),Promise.reject();var t=this.owner,n=this.repo;return u.http.post("/repos/"+t+"/"+n+"/issues/"+this.state.meta.number+"/reactions",{content:"heart"}).then(function(t){e.state.reactions.push(t),e.state.meta.reactions.heart++})}},{key:"unlike",value:function(){var e=this;if(!this.accessToken)return Promise.reject();var t=this.state,n=t.user,r=t.reactions,i=r.findIndex(function(e){return e.user.login===n.login});return u.http.delete("/reactions/"+r[i].id).then(function(){r.splice(i,1),e.state.meta.reactions.heart--})}},{key:"likeAComment",value:function(e){var t=this;if(!this.accessToken)return alert("Login to Like"),Promise.reject();var n=this.owner,r=this.repo,i=this.state.comments.find(function(t){return t.id===e});return u.http.post("/repos/"+n+"/"+r+"/issues/comments/"+e+"/reactions",{content:"heart"}).then(function(n){t.state.commentReactions[e].push(n),i.reactions.heart++})}},{key:"unlikeAComment",value:function(e){if(!this.accessToken)return Promise.reject();var t=this.state.commentReactions[e],n=this.state.comments.find(function(t){return t.id===e}),r=this.state.user,i=t.findIndex(function(e){return e.user.login===r.login});return u.http.delete("/reactions/"+t[i].id).then(function(){t.splice(i,1),n.reactions.heart--})}},{key:"replyAComment",value:function(e){if(!this.accessToken)return Promise.reject();var t=document.getElementById("gitment-editor");t.innerText+="@"+e+" ",t.focus()}}]),e}();e.exports=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.close='',t.github='',t.heart='',t.spinner='',t.reply=''}]); \ No newline at end of file diff --git a/lib/jquery/jquery-3.2.1.min.js b/lib/jquery/jquery-3.2.1.min.js new file mode 100644 index 0000000..644d35e --- /dev/null +++ b/lib/jquery/jquery-3.2.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S), +a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), +null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r(" + + + + +
+ + +
+
+ + +
+ + + + + + + + + \ No newline at end of file diff --git a/post/hugo-with-gitfx/index.html b/post/hugo-with-gitfx/index.html new file mode 100644 index 0000000..bf58265 --- /dev/null +++ b/post/hugo-with-gitfx/index.html @@ -0,0 +1,289 @@ + + + + +Hugo with GitFx - Gitx.io - Git toolbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ + + + + +
+
+
+
+
+
+

Hugo with GitFx

+ +
+This blog shows hugo-gitfx shortcode usage by a hello world example. +
+
+
+

Table of Contents

+
+ +
+
+
+

I posted a message in HackerNews when I’d released ActionServerless(GitFx) early this year. And most of replies criticized that I’m abusing GitHub actions service. Then I emailed GitHub for their attitude, they replied that they don’t think that’s an abuse as so far.

+

GitFx can create a service for your developing, testing and learning with the convenience that GitHub actions provides. But I know there’s no enough usage of it until now.

+

I ever thought to create a tool that can be embedded into tech blogs, to show code, run code and display output of code, just as golang playground does. It seems there’re a lot of such services at present. I ever created one with docker. But it’s a little bit heavy to run so many docker containers.

+

Now I have GitFx, I realize it’s really a nice solution:

+
    +
  1. Use GitFx to run code, and store output to a route.
  2. +
  3. Take Hugo as your blog framework for example, we provide a shortcode to show code and its output in your blogs.
  4. +
+

You can create a vivid tutorial blog now! And of course I can’t wait to give you one for how to use GitFx with Hugo.

+

Hello world

+

Set up GitFx in action

+

We put our code in a folder under root directory, ‘app’ folder in our example. We create a source file named hello.py. We just code a print("Hello world!") into it with a GitFx route(a route is a line of comment to define a file path to store output of the code).

+

We need to set up a GitHub action workflow, the main part of configuration related with GitFx is:

+
+ +
+
1
+2
+3
+4
+5
+
+
...
+- uses: gitx-io/ActionServerless@master
+  with:
+    filepath: './app'
+...
+
+
+

Show code in your Hugo blog

+

We use Hugo shortcode hugo-gitfx to show the content of hello.py and its output. What you need is just to write one line in your blog:

+
+

{{< gitfx “app/hello.py” >}}

+
+

The code and output showed below is the magic of it:

+
+ +
+
1
+2
+3
+
+
# GET /app/hello_world
+
+print("Hello world!")
+
+
+
+
Hello world!
+
+

You’re welcome to have a try if you’re a Hugo user!

+
+
+ + + +
+ +
+
+ +
+
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/post/index.html b/post/index.html new file mode 100644 index 0000000..f252de4 --- /dev/null +++ b/post/index.html @@ -0,0 +1,199 @@ + + + + +Archive - Gitx.io - Git toolbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ + + + + +
+
+
+
+
+
+ +2 posts In Total + +
+
+

2022

+
+
+ + + +在 Hugo 中使用 GitFx + + +
+
+

2021

+
+
+ + + +Hugo with GitFx + + +
+
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/post/index.xml b/post/index.xml new file mode 100644 index 0000000..a200287 --- /dev/null +++ b/post/index.xml @@ -0,0 +1 @@ +Posts on Gitx.io - Git toolboxhttps://gitx.io/post/Recent content in Posts on Gitx.io - Git toolboxHugo -- gohugo.iogitx.ioWed, 05 Jan 2022 12:26:51 +0000在 Hugo 中使用 GitFxhttps://gitx.io/post/hugo-with-gitfx-zh_cn/Wed, 05 Jan 2022 12:26:51 +0000https://gitx.io/post/hugo-with-gitfx-zh_cn/本文主要通过一个 <code>Hello world</code> 的示例讲解如何在 Hugo 中使用 GitFx 嵌入代码和展示运行结果。Hugo with GitFxhttps://gitx.io/post/hugo-with-gitfx/Thu, 23 Dec 2021 12:26:51 +0000https://gitx.io/post/hugo-with-gitfx/This blog shows hugo-gitfx shortcode usage by a <code>hello world</code> example. \ No newline at end of file diff --git a/post/page/1/index.html b/post/page/1/index.html new file mode 100644 index 0000000..c92bf12 --- /dev/null +++ b/post/page/1/index.html @@ -0,0 +1 @@ +https://gitx.io/post/ \ No newline at end of file diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..1f9bcc5 --- /dev/null +++ b/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Sitemap: https://gitx.io/sitemap.xml diff --git a/sass/jane.min.9fc9271777574f37e5d96286c7781a7ff724d7fd49f7819ec8b91f6c63407db0.css b/sass/jane.min.9fc9271777574f37e5d96286c7781a7ff724d7fd49f7819ec8b91f6c63407db0.css new file mode 100644 index 0000000..16ee65d --- /dev/null +++ b/sass/jane.min.9fc9271777574f37e5d96286c7781a7ff724d7fd49f7819ec8b91f6c63407db0.css @@ -0,0 +1 @@ +@charset "UTF-8";/*!normalize.css v3.0.2 | MIT License | git.io/normalize*/html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{font-size:17px;box-sizing:border-box}body{padding:0;margin:0;font-family:source sans pro,helvetica neue,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.8;color:rgba(0,0,0,.84);background:#0a0a0a;scroll-behavior:smooth}@media screen and (max-width:1200px){body{border-top:0}}::selection{background:#0047ab;color:#fff}img{max-width:100%;height:auto;display:inline-block;vertical-align:middle}a{color:rgba(0,0,0,.84);text-decoration:none}h1{font-size:1.6em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}h2{font-size:1.5em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}h3{font-size:1.3em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}h4{font-size:1.2em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}h5{font-size:1.1em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}h6{font-size:1em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.container{margin:0 auto;width:1200px}@media screen and (max-width:1200px){.container{width:100%}}.content-wrapper{padding:3em 0 1px}.video-container{position:relative;padding-bottom:56.25%;padding-top:25px;height:0}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.bg-llight{background-color:#f2f2f5}.bg-white{background-color:#fff}.header:before,.header:after{content:" ";display:table}.header:after{clear:both}.header .logo-wrapper{float:left;padding-left:25px;padding-top:6px}.header .logo-wrapper .logo{font-size:30px;font-family:source sans pro,arial;color:#fefefe}@media screen and (max-width:1200px){.header .logo-wrapper{display:none}}.header .site-navbar .menu{float:right;padding-right:15px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.header .site-navbar .menu .active{font-weight:700}.header .site-navbar .menu .menu-item{display:inline-block;margin-left:1em;margin-right:1em;position:relative}.header .site-navbar .menu .menu-item+.menu-item{margin-left:10px}.header .site-navbar .menu .menu-item .submenu{visibility:hidden;position:absolute;top:120%;transition:.2s 1s;list-style:none;padding:0;background:#fff;white-space:nowrap;border:1px solid #ddd;border-bottom:none;transition:.2s .2s;z-index:99}.header .site-navbar .menu .menu-item .submenu li{border-bottom:1px solid #ddd}.header .site-navbar .menu .menu-item .submenu li a{padding:12px}.header .site-navbar .menu .menu-item:hover .submenu{visibility:visible;transition-delay:0s}.header .site-navbar .menu .menu-item-link{font-size:18px;font-weight:700;color:#fefefe}.header .menu-parent::after{content:" ▼";font-size:11px}.header .menu a:hover{color:#0047ab}@media screen and (max-width:1200px){.header .site-navbar{display:none}}.header .menu-item-lang .icon-globe::before{font-size:.9em}@media screen and (max-width:1200px){.header{padding:50px 0 0;text-align:center}}.post{padding:3em;margin:0 5em 3em;border-radius:5px}.post .post-header{margin-bottom:20px;text-align:left;padding-bottom:10px}.post .post-header .post-title{margin:0;font-size:36px;font-weight:700;font-family:Athelas,STHeiti,Microsoft Yahei,serif;line-height:52px;color:#0c0b22;width:100%}.post .post-header .post-title .post-pinned svg{vertical-align:middle;width:24px;height:24px;fill:#0047ab}.post .post-header .post-link{display:inline-block;vertical-align:middle;transform:translateZ(0);backface-visibility:hidden;box-shadow:0 0 1px transparent;position:relative;overflow:hidden}.post .post-header .post-link:before{content:'';position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#0047ab;transition-duration:.2s;transition-property:right,left;transition-timing-function:ease-out}.post .post-header .post-link.active:before,.post .post-header .post-link:active:before,.post .post-header .post-link:focus:before,.post .post-header .post-link:hover:before{right:0;left:0}.post .post-header .post-meta{padding-top:20px;padding-bottom:40px;font-size:14px;font-size:14px;font-weight:300;line-height:.104rem;color:#9e9ea7}.post .post-header .post-meta .post-time{font-size:14px;font-weight:300;line-height:.104rem;color:#9e9ea7}.post .post-header .post-meta .post-category{display:inline}.post .post-header .post-meta .post-category a::before{content:'·'}.post .post-header .post-meta a{color:inherit}.post .post-header .post-meta a:hover{color:#0047ab}.post .post-header .post-meta .more-meta::before{content:'·'}.post .post-header .cover-text{margin-bottom:.312rem;padding:30px;background-color:#f9f9f9;color:#6e6e7a;font-size:16px;line-height:32px}.post .post-toc .post-toc-title{font-size:1em;max-width:9em;border:0;font-weight:400;padding:.05em .5em;line-height:1em;color:#0047ab}.post .post-toc .post-toc-content{display:block;padding:.5em 2em .5em .5em;margin-top:-1.5em;line-height:2em;font-size:14px}.post .post-toc .post-toc-content ul{padding-left:20px;list-style-type:none}.post .post-toc .post-toc-content ul ul{list-style:disc}.post .post-toc .post-toc-content ul ul ul{list-style:circle}.post .post-toc .post-toc-content ul ul li>a{color:#139}.post .post-toc .post-toc-content ul ul li>a:hover{color:#900}@media screen and (min-width:1200px){.post .post-toc{display:none;border:1px solid #ccc;background:#fff;box-shadow:0 0 1em #777777;position:fixed;top:0;right:0;max-height:80%;overflow:auto;z-index:99}.post .post-toc .post-toc-content{display:none}.post .post-toc:hover .post-toc-content{display:block}}@media screen and (max-width:1200px){.post .post-toc{padding:10px;border-bottom:2px LightGrey solid;word-wrap:break-word}}.post .post-content{word-wrap:break-word;width:83%;margin:0 auto;justify-content:center}.post .post-content h1{font-weight:600;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h2{font-weight:600;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h3{font-weight:600;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h4{font-weight:600;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h5{font-weight:600;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h6{font-weight:600;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h1{border-bottom:1px solid #ddd;margin-top:2em}.post .post-content h2{border-bottom:1px solid #ddd;margin-top:2em}.post .post-content h3{margin-top:1.5em}.post .post-content a{color:#0047ab}.post .post-content a:hover{border-bottom:1px solid #0047ab}.post .post-content iframe{margin:0 auto;display:block;width:100%}.post .post-content>table{border:none;width:100%}.post .post-content>table td{background-color:#f0e4e4;border:3px solid #fff;padding:5px 15px}.post .post-content>table th{text-align:left;background-color:#a65b5b;color:#fff;border:3px solid #fff;padding:5px 15px}.post .post-content .post-summary{margin-bottom:1em}.post .post-content .read-more{text-align:right}.post .post-content .read-more .read-more-link{color:#0047ab;font-size:1.1em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content .read-more .read-more-link:hover{border-bottom:1px solid #0047ab}.post .post-content kbd{display:inline-block;padding:.25em;background-color:#fafafa;border:1px solid #dbdbdb;border-bottom-color:#b5b5b5;border-radius:3px;box-shadow:inset 0 -1px #b5b5b5;font-size:.8em;line-height:1.25;font-family:sfmono-regular,liberation mono,roboto mono,Menlo,Monaco,Consolas,courier new,Courier,monospace;color:#4a4a4a}.post .post-content dl dt::after{content:':'}.post .post-content .task-list{list-style:none;padding-left:1.5rem}.post .post-content .MJXc-display{overflow-x:auto;overflow-y:hidden}.post .post-content code{padding:3px 7px;background:#f0f2f5;border-radius:4px}.post .post-content code,.post .post-content pre{font-size:.9em;font-family:Menlo,Consolas,source code pro,Inconsolata,Monaco,courier new,monospace}.post .post-content pre{padding:3px 10px}.post .post-content .highlight code{background:0 0;color:inherit;padding:0}.post .post-content .highlight>.chroma{margin:1em 0;overflow-x:auto;position:relative;border:2px solid #ddd;line-height:1.6}.post .post-content .highlight>.chroma code{padding:0;color:inherit}.post .post-content .highlight>.chroma pre{margin:0}.post .post-content .highlight>.chroma table{position:relative;padding:.8em 0}.post .post-content .highlight>.chroma table::after{position:absolute;top:0;right:0;padding:0 7px;font-size:.8em;font-weight:700;color:#b1b1b1;content:'Code'}.post .post-content .highlight>.chroma>table::after{content:attr(data-lang);text-transform:capitalize}.post .post-content .highlight>.chroma .lnt{color:#cacaca}.post .post-content .chroma{color:#586e75;background-color:#f0f2f5}.post .post-content .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.post .post-content .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.post .post-content .chroma .hl{display:block;width:100%;background-color:#ffc}.post .post-content .chroma .lntd:first-of-type{margin-right:.4em;padding:0 .8em 0 .4em}.post .post-content .chroma .ln{margin-right:.4em;padding:0 .4em}.post .post-content .chroma .k{color:#859900}.post .post-content .chroma .kc{color:#859900;font-weight:700}.post .post-content .chroma .kd{color:#859900}.post .post-content .chroma .kn{color:#dc322f;font-weight:700}.post .post-content .chroma .kp{color:#859900}.post .post-content .chroma .kr{color:#859900}.post .post-content .chroma .kt{color:#859900;font-weight:700}.post .post-content .chroma .n{color:#268bd2}.post .post-content .chroma .na{color:#268bd2}.post .post-content .chroma .nb{color:#cb4b16}.post .post-content .chroma .bp{color:#268bd2}.post .post-content .chroma .nc{color:#cb4b16}.post .post-content .chroma .no{color:#268bd2}.post .post-content .chroma .nd{color:#268bd2}.post .post-content .chroma .ni{color:#268bd2}.post .post-content .chroma .ne{color:#268bd2}.post .post-content .chroma .nf{color:#268bd2}.post .post-content .chroma .fm{color:#268bd2}.post .post-content .chroma .nl{color:#268bd2}.post .post-content .chroma .nn{color:#268bd2}.post .post-content .chroma .nx{color:#268bd2}.post .post-content .chroma .py{color:#268bd2}.post .post-content .chroma .nt{color:#268bd2;font-weight:700}.post .post-content .chroma .nv{color:#268bd2}.post .post-content .chroma .vc{color:#268bd2}.post .post-content .chroma .vg{color:#268bd2}.post .post-content .chroma .vi{color:#268bd2}.post .post-content .chroma .vm{color:#268bd2}.post .post-content .chroma .l{color:#2aa198}.post .post-content .chroma .ld{color:#2aa198}.post .post-content .chroma .s{color:#2aa198}.post .post-content .chroma .sa{color:#2aa198}.post .post-content .chroma .sb{color:#2aa198}.post .post-content .chroma .sc{color:#2aa198}.post .post-content .chroma .dl{color:#2aa198}.post .post-content .chroma .sd{color:#2aa198}.post .post-content .chroma .s2{color:#2aa198}.post .post-content .chroma .se{color:#2aa198}.post .post-content .chroma .sh{color:#2aa198}.post .post-content .chroma .si{color:#2aa198}.post .post-content .chroma .sx{color:#2aa198}.post .post-content .chroma .sr{color:#2aa198}.post .post-content .chroma .s1{color:#2aa198}.post .post-content .chroma .ss{color:#2aa198}.post .post-content .chroma .m{color:#2aa198;font-weight:700}.post .post-content .chroma .mb{color:#2aa198;font-weight:700}.post .post-content .chroma .mf{color:#2aa198;font-weight:700}.post .post-content .chroma .mh{color:#2aa198;font-weight:700}.post .post-content .chroma .mi{color:#2aa198;font-weight:700}.post .post-content .chroma .il{color:#2aa198;font-weight:700}.post .post-content .chroma .mo{color:#2aa198;font-weight:700}.post .post-content .chroma .ow{color:#859900}.post .post-content .chroma .c{color:#93a1a1;font-style:italic}.post .post-content .chroma .ch{color:#93a1a1;font-style:italic}.post .post-content .chroma .cm{color:#93a1a1;font-style:italic}.post .post-content .chroma .c1{color:#93a1a1;font-style:italic}.post .post-content .chroma .cs{color:#93a1a1;font-style:italic}.post .post-content .chroma .cp{color:#93a1a1;font-style:italic}.post .post-content .chroma .cpf{color:#93a1a1;font-style:italic}.post .post-content .chroma .g{color:#d33682}.post .post-content .chroma .gd{color:#d33682}.post .post-content .chroma .ge{color:#d33682}.post .post-content .chroma .gr{color:#d33682}.post .post-content .chroma .gh{color:#d33682}.post .post-content .chroma .gi{color:#d33682}.post .post-content .chroma .go{color:#d33682}.post .post-content .chroma .gp{color:#d33682}.post .post-content .chroma .gs{color:#d33682}.post .post-content .chroma .gu{color:#d33682}.post .post-content .chroma .gt{color:#d33682}.post .post-content p>img{cursor:pointer}.post .post-content figure a:hover{border:0}.post .post-content figure.center{clear:both;display:block;margin-left:auto;margin-right:auto}.post .post-content figure.right{float:right;margin-left:1.5em}.post .post-content figure.left{float:left;margin-right:1.5em}.post .post-content figure figcaption{margin-top:.5em;text-align:center;line-height:1.5em}.post .post-content figure figcaption h4{color:#b5b5b5;margin:0}.post .post-content figure figcaption p{font-size:.9em;color:#b5b5b5;font-style:italic;margin:0}.post .post-content blockquote{margin:1em auto;color:#555;background-color:#f6f6f6;border-left:4px solid #999;position:relative;line-height:1.6;font-family:Open Sans}@media screen and (min-width:1200px){.post .post-content blockquote{padding:.2em 2em .2em 3em}.post .post-content blockquote::before{font-family:Arial;content:"\201C";color:#999;font-size:4em;position:absolute;left:10px;top:-10px}}@media screen and (max-width:1200px){.post .post-content blockquote{padding:.2em 1em}}.post .post-content blockquote footer{color:#333;margin-bottom:1em}.post .post-content blockquote cite:before{content:'\2014';padding-right:.3em;padding-left:.3em}.post .header-link{margin-left:.5em;fill:currentColor;visibility:hidden}.post .post-content-header:hover .header-link{visibility:visible}.post .post-copyright{padding:10px;background-color:rgba(181,181,181,.1);border:1px solid #e1e1e1;border-left:solid;margin-top:3em;width:94%}.post .post-copyright .copyright-item{margin:5px 0}.post .post-copyright .copyright-item a{color:#0047ab;word-wrap:break-word}.post .post-copyright .copyright-item a:hover{border-bottom:1px solid #0047ab}.post .post-copyright .copyright-item .item-title{display:table-cell;min-width:5rem;text-align:right;font-weight:700}.post .post-copyright .copyright-item .item-title:after{content:" :"}.post .post-copyright .copyright-item .item-content{display:table-cell;padding-left:.5rem}.post .post-reward{margin-top:20px;padding-top:10px;text-align:center;border-top:1px dashed #e6e6e6}.post .post-reward .reward-button{margin:15px 0;padding:3px 7px;display:inline-block;color:#0047ab;border:1px solid #0047ab;border-radius:5px;cursor:pointer}.post .post-reward .reward-button:hover{color:#fefefe;background-color:#0047ab;transition:.5s}.post .post-reward #reward:checked~.qr-code{display:block}.post .post-reward #reward:checked~.reward-button{display:none}.post .post-reward .qr-code{display:none}.post .post-reward .qr-code .qr-code-image{display:inline-block;min-width:200px;width:40%;margin-top:15px}.post .post-reward .qr-code .qr-code-image span{display:inline-block;width:100%;margin:8px 0}.post .post-reward .qr-code .image{width:200px;height:200px}.post .post-footer{font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-footer .post-tags{margin-top:1em}.post .post-footer .post-tags a{color:#0047ab;word-break:break-all;margin-right:10px}.post .post-footer .post-tags a:hover{border-bottom:1px solid #0047ab}.post .post-footer .post-tags a::before{content:'#'}.post .post-footer .post-nav{margin-top:1em}.post .post-footer .post-nav:before,.post .post-footer .post-nav:after{content:" ";display:table}.post .post-footer .post-nav:after{clear:both}.post .post-footer .post-nav .prev,.post .post-footer .post-nav .next{font-weight:600;font-size:18px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s}.post .post-footer .post-nav .prev{float:left}.post .post-footer .post-nav .prev:hover{color:#0047ab;transform:translateX(-4px)}.post .post-footer .post-nav .next{float:right}.post .post-footer .post-nav .next:hover{color:#0047ab;transform:translateX(4px)}.post .post-footer .post-nav .nav-mobile{display:none}@media screen and (max-width:1200px){.post .post-footer .post-nav .nav-default{display:none}.post .post-footer .post-nav .nav-mobile{display:inline}}.post .footnotes{margin-top:50px;font-size:.9em}.post .footnotes hr{border-style:solid;color:#ddd}.post .footnote-ref{display:inline;position:relative;margin-left:3px}.post .footnote-ref:hover .fn-content{opacity:1;visibility:visible;transform:translate3d(0,0,0)rotate3d(0,0,0,0)}.post .footnote-ref>a{font-weight:700}.post .footnote-ref>a::after{content:']'}.post .footnote-ref>a::before{content:'['}.post .fn-content{position:absolute;display:inline-block;z-index:14;left:50%;bottom:100%;line-height:1.3;border-radius:.5em;border:1px solid rgba(0,0,0,.1);background:#f6f6f6;opacity:0;visibility:hidden;transform:translate3d(0,-10px,0);transition:opacity .3s,transform .3s}.post .fn-content .fn-text{display:inline-block;padding:1em;font-size:1.2em;z-index:8}.post .fn-content .fn-text a{font-weight:700}.post .shortcode-notice .notice-content{padding:.6em 1em;display:block;font-size:1em;margin-top:0;margin-bottom:0;color:#666}.post .shortcode-notice-title{color:#fff;padding-left:1em;font-weight:700;text-transform:capitalize}.post .shortcode-notice-title.note{background-color:#6ab0de}.post .shortcode-notice.note .notice-content{background:#e7f2fa}.post .shortcode-notice-title.tip{background-color:rgba(92,184,92,.8)}.post .shortcode-notice.tip .notice-content{background:#e6f9e6}.post .shortcode-notice-title.info{background-color:#f0b37e}.post .shortcode-notice.info .notice-content{background:#fff2db}.post .shortcode-notice-title.warning{background-color:rgba(217,83,79,.8)}.post .shortcode-notice.warning .notice-content{background:#fae2e2}.disqus-comment{margin:0 5em 3em}.disqus-comment .disqus-button{cursor:pointer;border:2px solid #ddd;color:#999;margin:0 auto;max-width:200px;text-align:center;padding:10px;transition:.5s}.disqus-comment .disqus-button:hover{color:#111;border-color:#111}@media screen and (max-width:504px){.post{padding:1em;margin:0 0 2em}.disqus-comment{margin:0 1em 2em}.content-wrapper{padding:1em 0 1px}}@media screen and (min-width:900px) and (max-width:1080px){.post{margin:0 2em 2em}.disqus-comment{margin:0 2em 2em}.content-wrapper{padding:2em 0 1px}}@media screen and (min-width:504px) and (max-width:899px){.post{padding:1em;margin:0 1em 2em}.disqus-comment{margin:0 1em 2em}.content-wrapper{padding:1em 0 1px}}.pagination{margin:2em 0;text-align:center}.pagination:before,.pagination:after{content:" ";display:table}.pagination:after{clear:both}.pagination li{display:inline-block}.pagination li a{background-color:#fff;margin-left:.1em;margin-right:.1em;border:1px solid #222;color:#222;float:left;line-height:1.42857143;padding:6px 12px;position:relative;text-decoration:none;margin-bottom:.2em}.pagination .active a{background-color:#222;border-color:#222;color:#fff;cursor:default;z-index:2}.pagination .prev,.pagination .next{font-weight:600;font-size:20px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s}.pagination .prev{float:left}.pagination .prev:hover{color:#0047ab;transform:translateX(-4px)}.pagination .next{float:right}.pagination .next:hover{color:#0047ab;transform:translateX(4px)}@media screen and (max-width:1200px){.pagination{margin:1em 0}}.footer{margin-top:2em}.footer .icon-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap}.footer .icon-links .iconfont{font-size:1.7em}.footer .icon-links .iconfont+.iconfont{margin-left:.5em}.footer .icon-links .iconfont:hover{color:#0047ab}.footer .icon-links .iconfont:hover svg{fill:#0047ab}.footer .copyright{margin:10px 0;color:#8a8a8a;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.footer .copyright .hexo-link,.footer .copyright .theme-link{color:#0047ab}.footer .copyright .copyright-year{display:block}.footer .copyright .copyright-year .heart{font-size:14px}.archive{margin:0 5em 3em;background-color:#fff;padding:1em 5em 5em}.archive .archive-title{font-family:Athelas,STHeiti,Microsoft Yahei,serif}.archive .archive-title.tag,.archive .archive-title.category,.archive .archive-title.author{margin:20px 0}.archive .archive-title .archive-name{margin:0;display:inline-block;font-weight:400;font-size:30px;line-height:32px}.archive .archive-title .archive-post-counter{display:none;color:#8a8a8a}.archive .collection-title{font-family:Athelas,STHeiti,Microsoft Yahei,serif}.archive .collection-title .archive-year{margin:2em 0 0;font-weight:400;font-size:28px;line-height:30px}.archive .archive-post{padding:15px 20px 5px;border-bottom:1px solid #cacaca;font-size:1.1em;display:table;width:100%}.archive .archive-post .archive-post-time{color:#8a8a8a;display:table-cell;width:7em;vertical-align:middle}.archive .archive-post .archive-post-title{display:table-cell;vertical-align:middle}.archive .archive-post .archive-post-title .archive-post-link{color:#0047ab}.archive .archive-post::first-child{margin-top:10px}.archive .archive-post:hover{transition:.2s ease-out;transform:translateX(4px)}.archive .archive-post:hover .archive-post-time{color:#717171}.archive .archive-post:hover .archive-post-title .archive-post-link{color:#003278}.archive .more-post{text-align:right}.archive .more-post .more-post-link{margin-top:1em;color:#0047ab;font-size:1.1em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.archive .more-post .more-post-link:hover{border-bottom:1px solid #0047ab}@media screen and (max-width:899px){.archive{margin:0 auto 1em;padding:1em}.archive .archive-title .archive-name{font-size:26px}.archive .collection-title .archive-year{margin:10px 0;font-size:24px}.archive .archive-post{padding:5px 10px}.archive .archive-post .archive-post-time{font-size:13px;display:block}.archive .archive-post .archive-post-title{display:block}}.tag-cloud{margin:2em 0 3em;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.tag-cloud .tag-cloud-title{display:inline-block;font-size:24px;color:#0047ab;border-bottom:2px solid #0047ab}.tag-cloud .tag-cloud-tags{margin:10px 0}.tag-cloud .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;transition-duration:.2s;transition-property:transform;transition-timing-function:ease-out}.tag-cloud .tag-cloud-tags a .tag-count{display:inline-block;position:relative;top:-8px;right:-2px;color:#0047ab;font-size:12px}.tag-cloud .tag-cloud-tags a:active,.tag-cloud .tag-cloud-tags a:focus,.tag-cloud .tag-cloud-tags a:hover{color:#0047ab;transform:scale(1.1)}.categories{margin:2em 0 3em;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.categories .categories-title{display:inline-block;font-size:18px;color:#0047ab;border-bottom:2px solid #0047ab}.categories .categories-tags{margin:10px 0}.categories .categories-tags .category-link{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;transition-duration:.2s;transition-property:transform;transition-timing-function:ease-out}.categories .categories-tags .category-link .category-count{display:inline-block;position:relative;top:-8px;right:-2px;color:#0047ab;font-size:12px}.categories .categories-tags .category-link:active,.categories .categories-tags .category-link:focus,.categories .categories-tags .category-link:hover{color:#0047ab;transform:scale(1.1)}.slideout-menu{position:fixed;top:0;left:0;bottom:0;width:180px;min-height:100vh;overflow-y:hidden;-webkit-overflow-scrolling:touch;z-index:0;display:none}.slideout-panel{z-index:1;background-color:#fefefe;min-height:100%}.slideout-open,.slideout-open body,.slideout-open .slideout-panel{overflow:hidden}.slideout-open .slideout-menu{display:block}.mobile-navbar{display:none;position:fixed;top:0;left:0;width:100%;height:50px;background:#fefefe;box-shadow:0 2px 2px #cacaca;text-align:center;transition:transform 300ms ease;z-index:99}.mobile-navbar.fixed-open{transform:translate3d(180px,0,0)}.mobile-navbar .mobile-header-logo{display:inline-block;margin-right:50px}.mobile-navbar .mobile-header-logo .logo{font-size:22px;line-height:50px;font-family:source sans pro,arial}.mobile-navbar .mobile-navbar-icon{color:#0047ab;height:50px;width:50px;font-size:24px;text-align:center;float:left;position:relative;transition:background .5s}@keyframes clickfirst{0%{transform:translateY(6px)rotate(0)}100%{transform:translateY(0)rotate(45deg)}}@keyframes clickmid{0%{opacity:1}100%{opacity:0}}@keyframes clicklast{0%{transform:translateY(-6px)rotate(0)}100%{transform:translateY(0)rotate(-45deg)}}@keyframes outfirst{0%{transform:translateY(0)rotate(-45deg)}100%{transform:translateY(-6px)rotate(0)}}@keyframes outmid{0%{opacity:0}100%{opacity:1}}@keyframes outlast{0%{transform:translateY(0)rotate(45deg)}100%{transform:translateY(6px)rotate(0)}}.mobile-navbar .mobile-navbar-icon span{position:absolute;left:15px;top:25px;left:calc((100% - 20px)/2);top:calc((100% - 1px)/2);width:20px;height:1px;background-color:#0047ab}.mobile-navbar .mobile-navbar-icon span:nth-child(1){transform:translateY(6px)rotate(0)}.mobile-navbar .mobile-navbar-icon span:nth-child(3){transform:translateY(-6px)rotate(0)}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(1){animation-duration:.5s;animation-fill-mode:both;animation-name:clickfirst}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(2){animation-duration:.2s;animation-fill-mode:both;animation-name:clickmid}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(3){animation-duration:.5s;animation-fill-mode:both;animation-name:clicklast}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(1){animation-duration:.5s;animation-fill-mode:both;animation-name:outfirst}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(2){animation-duration:.2s;animation-fill-mode:both;animation-name:outmid}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(3){animation-duration:.5s;animation-fill-mode:both;animation-name:outlast}.mobile-menu{background-color:rgba(240,242,245,.5)}.mobile-menu .mobile-menu-list{position:relative;list-style:none;margin-top:50px;padding:0;border-top:1px solid #f0f2f5}.mobile-menu .mobile-menu-list .mobile-menu-item>a{padding:10px 30px;display:block;border-bottom:1px solid #f0f2f5}.mobile-menu .mobile-menu-list a{font-size:18px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.mobile-menu .mobile-menu-list a:hover{color:#0047ab}.mobile-menu-parent{position:relative;border-bottom:1px solid #f0f2f5}.mobile-menu-parent a{margin-right:40px;display:block;padding:10px 0 10px 30px;display:block}.mobile-menu-parent .mobile-submenu-open{width:40px;height:100%;padding:0;position:absolute;right:0;top:0;z-index:2;border-left:1px solid #f0f2f5}.mobile-menu-parent .mobile-submenu-open:before{content:'';border-right:2px solid;border-bottom:2px solid;display:inline-block;width:7px;height:7px;transform:rotate(-45deg);margin-bottom:-5px;position:absolute;bottom:50%;right:18px}.mobile-submenu-show>.mobile-submenu-open:before{transform:rotate(45deg)}.mobile-submenu-list{display:none;padding-left:1em;border-bottom:1px solid #f0f2f5;list-style:none}.mobile-submenu-list li>a{display:block}.mobile-submenu-list li>a:before{content:'- '}@media screen and (max-width:1200px){.mobile-navbar{display:block}}.mobile-menu-item-lang .icon-globe::before{font-size:.9em}.back-to-top{display:none;position:fixed;right:2em;bottom:2em;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s;z-index:10;cursor:pointer}.back-to-top:hover{transform:translateY(-5px)}@media screen and (max-width:1200px){.back-to-top{display:none!important}}.not-found{text-align:center}.not-found .error-emoji{color:#363636;font-size:3rem}.not-found .error-text{color:#797979;font-size:1.25rem}.not-found .error-link{margin-top:2rem}.not-found .error-link a{color:#0047ab}.author-info{margin:0 5em 3em;background-color:#fff;padding:2em 5em;text-align:center}.author-info .author-box .author-image img{margin:1em auto;border-radius:50%;border:1px solid #999;float:left}.author-info .author-box .author-content{padding-left:200px;text-align:left}.author-info .author-box .author-content .author-title{color:#aaa;margin-bottom:.1em;font-size:14px}.author-info .author-box .author-content .author-name{font-weight:700;margin-top:0;margin-bottom:.5em}.author-info .author-box .author-content .author-desc{font-size:16px}.author-info .author-box .author-bottom{clear:both}@media screen and (min-width:900px) and (max-width:1080px){.author-info{margin:0 2em 2em}}@media screen and (min-width:504px) and (max-width:899px){.author-info{margin:0 1em 2em;padding-left:1em;padding-right:1em}}@media screen and (max-width:504px){.author-info{margin:0 0 2em;padding:1em}.author-info .author-box .author-image img{float:none}.author-info .author-box .author-content{padding-left:0;text-align:center}}.modal-dialog{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);z-index:99999;opacity:1;pointer-events:auto;overflow-y:initial!important}.modal-dialog.visible{display:block}.modal-dialog>.modal-content{width:800px;max-width:90%;position:relative;margin:5vh auto;border-radius:10px;background:#fff;background:linear-gradient(#fff,#999)}.modal-dialog>.modal-content .modal-header{padding:5px 15px}.modal-dialog>.modal-content .modal-body{height:80vh;overflow-y:auto;background:#fff;border-radius:0 0 10px 10px}.close{background:#606061;color:#fff;line-height:25px;position:absolute;right:-12px;text-align:center;top:-10px;width:24px;text-decoration:none;font-weight:700;border-radius:12px;box-shadow:1px 1px 3px #000;cursor:pointer}.close:hover{background:#00d9ff} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..49e3f52 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://gitx.io/tags/git/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/tags/gitfx/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/post/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/tags/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/post/hugo-with-gitfx-zh_cn/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/tags/actionserverless/2021-12-23T12:26:51+00:00weekly0.5https://gitx.io/post/hugo-with-gitfx/2021-12-23T12:26:51+00:00weekly0.5https://gitx.io/tags/serverless/2021-12-23T12:26:51+00:00weekly0.5https://gitx.io/categories/weekly0.5 \ No newline at end of file diff --git a/sitemap.xsl b/sitemap.xsl new file mode 100644 index 0000000..11a52bb --- /dev/null +++ b/sitemap.xsl @@ -0,0 +1,115 @@ + + + + + + + XML Sitemap + + + + +
+

XML Sitemap

+

+ This is a sitemap generated by Hugo to allow search engines to discover this blog's content. +

+

+ The xsl style copy from Ghost. +

+ + + + + + + + + + + + + + + + + + + + + +
URL ( total)PrioCh. Freq.Last Modified
+ + + + + + + + + + + + +
+
+ + + +
+
\ No newline at end of file diff --git a/tags/actionserverless/index.html b/tags/actionserverless/index.html new file mode 100644 index 0000000..1494caa --- /dev/null +++ b/tags/actionserverless/index.html @@ -0,0 +1,182 @@ + + + + +actionserverless · Gitx.io - Git toolbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ + + + + +
+
+
+
+
+
+

Tag: actionserverless

+
+
+ + + +Hugo with GitFx + + +
+
+
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/tags/actionserverless/index.xml b/tags/actionserverless/index.xml new file mode 100644 index 0000000..bcfc9a1 --- /dev/null +++ b/tags/actionserverless/index.xml @@ -0,0 +1 @@ +actionserverless on Gitx.io - Git toolboxhttps://gitx.io/tags/actionserverless/Recent content in actionserverless on Gitx.io - Git toolboxHugo -- gohugo.iogitx.ioThu, 23 Dec 2021 12:26:51 +0000Hugo with GitFxhttps://gitx.io/post/hugo-with-gitfx/Thu, 23 Dec 2021 12:26:51 +0000https://gitx.io/post/hugo-with-gitfx/This blog shows hugo-gitfx shortcode usage by a <code>hello world</code> example. \ No newline at end of file diff --git a/tags/actionserverless/page/1/index.html b/tags/actionserverless/page/1/index.html new file mode 100644 index 0000000..e6c0ccf --- /dev/null +++ b/tags/actionserverless/page/1/index.html @@ -0,0 +1 @@ +https://gitx.io/tags/actionserverless/ \ No newline at end of file diff --git a/tags/git/index.html b/tags/git/index.html new file mode 100644 index 0000000..917994f --- /dev/null +++ b/tags/git/index.html @@ -0,0 +1,192 @@ + + + + +Git · Gitx.io - Git toolbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ + + + + +
+
+
+
+
+
+

Tag: Git

+
+
+ + + +在 Hugo 中使用 GitFx + + +
+
+ + + +Hugo with GitFx + + +
+
+
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/tags/git/index.xml b/tags/git/index.xml new file mode 100644 index 0000000..138ff16 --- /dev/null +++ b/tags/git/index.xml @@ -0,0 +1 @@ +Git on Gitx.io - Git toolboxhttps://gitx.io/tags/git/Recent content in Git on Gitx.io - Git toolboxHugo -- gohugo.iogitx.ioWed, 05 Jan 2022 12:26:51 +0000在 Hugo 中使用 GitFxhttps://gitx.io/post/hugo-with-gitfx-zh_cn/Wed, 05 Jan 2022 12:26:51 +0000https://gitx.io/post/hugo-with-gitfx-zh_cn/本文主要通过一个 <code>Hello world</code> 的示例讲解如何在 Hugo 中使用 GitFx 嵌入代码和展示运行结果。Hugo with GitFxhttps://gitx.io/post/hugo-with-gitfx/Thu, 23 Dec 2021 12:26:51 +0000https://gitx.io/post/hugo-with-gitfx/This blog shows hugo-gitfx shortcode usage by a <code>hello world</code> example. \ No newline at end of file diff --git a/tags/git/page/1/index.html b/tags/git/page/1/index.html new file mode 100644 index 0000000..6192fd0 --- /dev/null +++ b/tags/git/page/1/index.html @@ -0,0 +1 @@ +https://gitx.io/tags/git/ \ No newline at end of file diff --git a/tags/gitfx/index.html b/tags/gitfx/index.html new file mode 100644 index 0000000..ba7db64 --- /dev/null +++ b/tags/gitfx/index.html @@ -0,0 +1,192 @@ + + + + +GitFx · Gitx.io - Git toolbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ + + + + +
+
+
+
+
+
+

Tag: GitFx

+
+
+ + + +在 Hugo 中使用 GitFx + + +
+
+ + + +Hugo with GitFx + + +
+
+
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/tags/gitfx/index.xml b/tags/gitfx/index.xml new file mode 100644 index 0000000..a6250e5 --- /dev/null +++ b/tags/gitfx/index.xml @@ -0,0 +1 @@ +GitFx on Gitx.io - Git toolboxhttps://gitx.io/tags/gitfx/Recent content in GitFx on Gitx.io - Git toolboxHugo -- gohugo.iogitx.ioWed, 05 Jan 2022 12:26:51 +0000在 Hugo 中使用 GitFxhttps://gitx.io/post/hugo-with-gitfx-zh_cn/Wed, 05 Jan 2022 12:26:51 +0000https://gitx.io/post/hugo-with-gitfx-zh_cn/本文主要通过一个 <code>Hello world</code> 的示例讲解如何在 Hugo 中使用 GitFx 嵌入代码和展示运行结果。Hugo with GitFxhttps://gitx.io/post/hugo-with-gitfx/Thu, 23 Dec 2021 12:26:51 +0000https://gitx.io/post/hugo-with-gitfx/This blog shows hugo-gitfx shortcode usage by a <code>hello world</code> example. \ No newline at end of file diff --git a/tags/gitfx/page/1/index.html b/tags/gitfx/page/1/index.html new file mode 100644 index 0000000..51155e0 --- /dev/null +++ b/tags/gitfx/page/1/index.html @@ -0,0 +1 @@ +https://gitx.io/tags/gitfx/ \ No newline at end of file diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 0000000..40f1555 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,178 @@ + + + + +Tags - Gitx.io - Git toolbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ + + + + +
+
+
+
+
+
+4 Tags In Total +
+ +
+
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/tags/index.xml b/tags/index.xml new file mode 100644 index 0000000..ad3f58f --- /dev/null +++ b/tags/index.xml @@ -0,0 +1 @@ +Tags on Gitx.io - Git toolboxhttps://gitx.io/tags/Recent content in Tags on Gitx.io - Git toolboxHugo -- gohugo.iogitx.ioWed, 05 Jan 2022 12:26:51 +0000Githttps://gitx.io/tags/git/Wed, 05 Jan 2022 12:26:51 +0000https://gitx.io/tags/git/GitFxhttps://gitx.io/tags/gitfx/Wed, 05 Jan 2022 12:26:51 +0000https://gitx.io/tags/gitfx/actionserverlesshttps://gitx.io/tags/actionserverless/Thu, 23 Dec 2021 12:26:51 +0000https://gitx.io/tags/actionserverless/serverlesshttps://gitx.io/tags/serverless/Thu, 23 Dec 2021 12:26:51 +0000https://gitx.io/tags/serverless/ \ No newline at end of file diff --git a/tags/serverless/index.html b/tags/serverless/index.html new file mode 100644 index 0000000..f1b9707 --- /dev/null +++ b/tags/serverless/index.html @@ -0,0 +1,182 @@ + + + + +serverless · Gitx.io - Git toolbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ + + + + +
+
+
+
+
+
+

Tag: serverless

+
+
+ + + +Hugo with GitFx + + +
+
+
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/tags/serverless/index.xml b/tags/serverless/index.xml new file mode 100644 index 0000000..d79e583 --- /dev/null +++ b/tags/serverless/index.xml @@ -0,0 +1 @@ +serverless on Gitx.io - Git toolboxhttps://gitx.io/tags/serverless/Recent content in serverless on Gitx.io - Git toolboxHugo -- gohugo.iogitx.ioThu, 23 Dec 2021 12:26:51 +0000Hugo with GitFxhttps://gitx.io/post/hugo-with-gitfx/Thu, 23 Dec 2021 12:26:51 +0000https://gitx.io/post/hugo-with-gitfx/This blog shows hugo-gitfx shortcode usage by a <code>hello world</code> example. \ No newline at end of file diff --git a/tags/serverless/page/1/index.html b/tags/serverless/page/1/index.html new file mode 100644 index 0000000..6ef590f --- /dev/null +++ b/tags/serverless/page/1/index.html @@ -0,0 +1 @@ +https://gitx.io/tags/serverless/ \ No newline at end of file From 494f4b5ee2c6999a113cb46181a86619eddf5151 Mon Sep 17 00:00:00 2001 From: gingerhot Date: Mon, 3 Oct 2022 01:01:17 +0000 Subject: [PATCH 02/13] deploy: gitx-io/homepage@41570accc72d94313ce715732c4e857dc07175bf --- index.html | 2 +- index.xml | 5 +++-- post/hugo-with-gitfx-zh_cn/index.html | 2 +- post/hugo-with-gitfx/index.html | 7 ++++--- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index f975aca..a88166c 100644 --- a/index.html +++ b/index.html @@ -152,7 +152,7 @@

- 354 words + 359 words 2 min read diff --git a/index.xml b/index.xml index f3069ba..8a55426 100644 --- a/index.xml +++ b/index.xml @@ -26,7 +26,7 @@ ... </code></pre></td></tr></table> </div> -</div><p>完整的配置可参考<a href="https://github.com/gitx-io/gitx-io.github.io/blob/master/.github/workflows/hugo.yml">这里</a>。</p> +</div><p>完整的配置可参考<a href="https://github.com/gitx-io/gitx-io.github.io/blob/master/hugo-gitfx_workflow_example.yml">这里</a>。</p> <h3 id="在-hugo-博客中展示代码和结果">在 Hugo 博客中展示代码和结果</h3> <p>我们提供了一个 Hugo shortcode 的插件 <a href="https://github.com/gitx-io/hugo-gitfx">hugo-gitfx</a> 来展示 <code>hello.py</code> 和它的运行结果。你只需要在文章需要插入代码的地方写上:</p> <blockquote> @@ -76,7 +76,8 @@ ... </code></pre></td></tr></table> </div> -</div><h3 id="show-code-in-your-hugo-blog">Show code in your Hugo blog</h3> +</div><p>Here&rsquo;s a workflow configuration <a href="https://github.com/gitx-io/gitx-io.github.io/blob/master/hugo-gitfx_workflow_example.yml">example</a>.</p> +<h3 id="show-code-in-your-hugo-blog">Show code in your Hugo blog</h3> <p>We use Hugo shortcode <a href="https://github.com/gitx-io/hugo-gitfx">hugo-gitfx</a> to show the content of <code>hello.py</code> and its output. What you need is just to write one line in your blog:</p> <blockquote> <p>{{&lt; gitfx &ldquo;app/hello.py&rdquo; &gt;}}</p> diff --git a/post/hugo-with-gitfx-zh_cn/index.html b/post/hugo-with-gitfx-zh_cn/index.html index 2359b2c..62c1581 100644 --- a/post/hugo-with-gitfx-zh_cn/index.html +++ b/post/hugo-with-gitfx-zh_cn/index.html @@ -182,7 +182,7 @@

在 GitHub action 中运行 GitFx

... -

完整的配置可参考这里

+

完整的配置可参考这里

在 Hugo 博客中展示代码和结果

我们提供了一个 Hugo shortcode 的插件 hugo-gitfx 来展示 hello.py 和它的运行结果。你只需要在文章需要插入代码的地方写上:

diff --git a/post/hugo-with-gitfx/index.html b/post/hugo-with-gitfx/index.html index bf58265..8ad8bb0 100644 --- a/post/hugo-with-gitfx/index.html +++ b/post/hugo-with-gitfx/index.html @@ -29,7 +29,7 @@ - + + + +
+ +
+ + + +
+
+ + + + + +
+
+
+
+
+
+

A GitHub action to create SSH keys

+ +
+I released a GitHub action to run ssh-keygen command and create key pairs. +
+
+
+

Table of Contents

+
+ +
+
+
+

We need more key pairs than ever so I released a GitHub action to run ssh-keygen command and create key pairs.

+

You can create key pairs in web page securely just by clicking.

+

Quick start

+
    +
  1. Use the template to create a repo, better as a private repo for secrity
  2. +
  3. Go to Actions top menu page, follow the steps as below: +ssh keygen action steps
  4. +
  5. After one minute or two, you’ll see two files, private_key.txt and public_key.txt, are added/updated in repo’s root direcotory when the action finished successfully
  6. +
  7. Open each file and click Copy raw contents button on the top right to copy the key
  8. +
+

Done!

+
+
+ + + +
+ +
+
+ +
+
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 49e3f52..7475b3e 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://gitx.io/tags/git/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/tags/gitfx/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/post/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/tags/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/post/hugo-with-gitfx-zh_cn/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/tags/actionserverless/2021-12-23T12:26:51+00:00weekly0.5https://gitx.io/post/hugo-with-gitfx/2021-12-23T12:26:51+00:00weekly0.5https://gitx.io/tags/serverless/2021-12-23T12:26:51+00:00weekly0.5https://gitx.io/categories/weekly0.5 \ No newline at end of file +https://gitx.io/post/ssh-kekgen-action/2022-10-11T11:20:30+00:00weekly0.5https://gitx.io/tags/github-actions/2022-10-11T11:20:30+00:00weekly0.5https://gitx.io/2022-10-11T11:20:30+00:00weekly0.5https://gitx.io/post/2022-10-11T11:20:30+00:00weekly0.5https://gitx.io/tags/ssh-keygen/2022-10-11T11:20:30+00:00weekly0.5https://gitx.io/tags/2022-10-11T11:20:30+00:00weekly0.5https://gitx.io/tags/git/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/tags/gitfx/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/post/hugo-with-gitfx-zh_cn/2022-01-05T12:26:51+00:00weekly0.5https://gitx.io/tags/actionserverless/2021-12-23T12:26:51+00:00weekly0.5https://gitx.io/post/hugo-with-gitfx/2021-12-23T12:26:51+00:00weekly0.5https://gitx.io/tags/serverless/2021-12-23T12:26:51+00:00weekly0.5https://gitx.io/categories/weekly0.5 \ No newline at end of file diff --git a/tags/github-actions/index.html b/tags/github-actions/index.html new file mode 100644 index 0000000..bae9739 --- /dev/null +++ b/tags/github-actions/index.html @@ -0,0 +1,182 @@ + + + + +GitHub Actions · Gitx.io - Git toolbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ + + + + +
+
+
+
+
+
+

Tag: GitHub Actions

+
+
+ + + +A GitHub action to create SSH keys + + +
+
+
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/tags/github-actions/index.xml b/tags/github-actions/index.xml new file mode 100644 index 0000000..f296a44 --- /dev/null +++ b/tags/github-actions/index.xml @@ -0,0 +1 @@ +GitHub Actions on Gitx.io - Git toolboxhttps://gitx.io/tags/github-actions/Recent content in GitHub Actions on Gitx.io - Git toolboxHugo -- gohugo.iogitx.ioTue, 11 Oct 2022 11:20:30 +0000A GitHub action to create SSH keyshttps://gitx.io/post/ssh-kekgen-action/Tue, 11 Oct 2022 11:20:30 +0000https://gitx.io/post/ssh-kekgen-action/I released a GitHub action to run <code>ssh-keygen</code> command and create key pairs. \ No newline at end of file diff --git a/tags/github-actions/page/1/index.html b/tags/github-actions/page/1/index.html new file mode 100644 index 0000000..2d92357 --- /dev/null +++ b/tags/github-actions/page/1/index.html @@ -0,0 +1 @@ +https://gitx.io/tags/github-actions/ \ No newline at end of file diff --git a/tags/index.html b/tags/index.html index 40f1555..7cd18e3 100644 --- a/tags/index.html +++ b/tags/index.html @@ -122,13 +122,15 @@
-4 Tags In Total +6 Tags In Total
diff --git a/tags/index.xml b/tags/index.xml index ad3f58f..cf03ec9 100644 --- a/tags/index.xml +++ b/tags/index.xml @@ -1 +1 @@ -Tags on Gitx.io - Git toolboxhttps://gitx.io/tags/Recent content in Tags on Gitx.io - Git toolboxHugo -- gohugo.iogitx.ioWed, 05 Jan 2022 12:26:51 +0000Githttps://gitx.io/tags/git/Wed, 05 Jan 2022 12:26:51 +0000https://gitx.io/tags/git/GitFxhttps://gitx.io/tags/gitfx/Wed, 05 Jan 2022 12:26:51 +0000https://gitx.io/tags/gitfx/actionserverlesshttps://gitx.io/tags/actionserverless/Thu, 23 Dec 2021 12:26:51 +0000https://gitx.io/tags/actionserverless/serverlesshttps://gitx.io/tags/serverless/Thu, 23 Dec 2021 12:26:51 +0000https://gitx.io/tags/serverless/ \ No newline at end of file +Tags on Gitx.io - Git toolboxhttps://gitx.io/tags/Recent content in Tags on Gitx.io - Git toolboxHugo -- gohugo.iogitx.ioTue, 11 Oct 2022 11:20:30 +0000GitHub Actionshttps://gitx.io/tags/github-actions/Tue, 11 Oct 2022 11:20:30 +0000https://gitx.io/tags/github-actions/ssh-keygenhttps://gitx.io/tags/ssh-keygen/Tue, 11 Oct 2022 11:20:30 +0000https://gitx.io/tags/ssh-keygen/Githttps://gitx.io/tags/git/Wed, 05 Jan 2022 12:26:51 +0000https://gitx.io/tags/git/GitFxhttps://gitx.io/tags/gitfx/Wed, 05 Jan 2022 12:26:51 +0000https://gitx.io/tags/gitfx/actionserverlesshttps://gitx.io/tags/actionserverless/Thu, 23 Dec 2021 12:26:51 +0000https://gitx.io/tags/actionserverless/serverlesshttps://gitx.io/tags/serverless/Thu, 23 Dec 2021 12:26:51 +0000https://gitx.io/tags/serverless/ \ No newline at end of file diff --git a/tags/ssh-keygen/index.html b/tags/ssh-keygen/index.html new file mode 100644 index 0000000..255ea22 --- /dev/null +++ b/tags/ssh-keygen/index.html @@ -0,0 +1,182 @@ + + + + +ssh-keygen · Gitx.io - Git toolbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+ + + + + +
+
+
+
+
+
+

Tag: ssh-keygen

+
+
+ + + +A GitHub action to create SSH keys + + +
+
+
+
+
+
+ + +
+
+ + +
+
+ + + + + + + + \ No newline at end of file diff --git a/tags/ssh-keygen/index.xml b/tags/ssh-keygen/index.xml new file mode 100644 index 0000000..1bdd450 --- /dev/null +++ b/tags/ssh-keygen/index.xml @@ -0,0 +1 @@ +ssh-keygen on Gitx.io - Git toolboxhttps://gitx.io/tags/ssh-keygen/Recent content in ssh-keygen on Gitx.io - Git toolboxHugo -- gohugo.iogitx.ioTue, 11 Oct 2022 11:20:30 +0000A GitHub action to create SSH keyshttps://gitx.io/post/ssh-kekgen-action/Tue, 11 Oct 2022 11:20:30 +0000https://gitx.io/post/ssh-kekgen-action/I released a GitHub action to run <code>ssh-keygen</code> command and create key pairs. \ No newline at end of file diff --git a/tags/ssh-keygen/page/1/index.html b/tags/ssh-keygen/page/1/index.html new file mode 100644 index 0000000..f45fe4c --- /dev/null +++ b/tags/ssh-keygen/page/1/index.html @@ -0,0 +1 @@ +https://gitx.io/tags/ssh-keygen/ \ No newline at end of file From 8304e95c527f271231985be44725ce41f1ff4da6 Mon Sep 17 00:00:00 2001 From: gingerhot Date: Wed, 12 Oct 2022 04:37:33 +0000 Subject: [PATCH 09/13] deploy: gitx-io/homepage@9c9030b9dd79612260cf25769619a268db0a5be6 --- index.xml | 6 ++++-- post/ssh-kekgen-action/index.html | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/index.xml b/index.xml index 4f24be1..2a8eb7f 100644 --- a/index.xml +++ b/index.xml @@ -3,8 +3,10 @@ <h2 id="quick-start">Quick start</h2> <ol> <li><a href="https://github.com/gitx-io/ssh-keygen-template/generate">Use the template</a> to create a repo, better as a private repo for secrity</li> -<li>Go to <code>Actions</code> top menu page, follow the steps as below: -<img src="https://raw.githubusercontent.com/image-store/github/master/ssh-key-template.png" alt="ssh keygen action steps"></li> +<li>Go to <code>Actions</code> top menu page, follow the steps as below:</li> +</ol> +<p><img src="https://raw.githubusercontent.com/image-store/github/master/ssh-key-template.png" alt="ssh keygen action steps"></p> +<ol start="3"> <li>After one minute or two, you&rsquo;ll see two files, <code>private_key.txt</code> and <code>public_key.txt</code>, are added/updated in repo&rsquo;s root direcotory when the action finished successfully</li> <li>Open each file and click <code>Copy raw contents</code> button on the top right to copy the key</li> </ol> diff --git a/post/ssh-kekgen-action/index.html b/post/ssh-kekgen-action/index.html index f8e6a2a..c759e73 100644 --- a/post/ssh-kekgen-action/index.html +++ b/post/ssh-kekgen-action/index.html @@ -154,8 +154,10 @@

Table of Contents

Quick start

  1. Use the template to create a repo, better as a private repo for secrity
  2. -
  3. Go to Actions top menu page, follow the steps as below: -ssh keygen action steps
  4. +
  5. Go to Actions top menu page, follow the steps as below:
  6. +
+

ssh keygen action steps

+
  1. After one minute or two, you’ll see two files, private_key.txt and public_key.txt, are added/updated in repo’s root direcotory when the action finished successfully
  2. Open each file and click Copy raw contents button on the top right to copy the key
From 720c5d1b50f30ae6f19c4491dd9726e84aa248ea Mon Sep 17 00:00:00 2001 From: gingerhot Date: Sat, 15 Oct 2022 00:31:47 +0000 Subject: [PATCH 10/13] deploy: gitx-io/homepage@15213b208c6d6720ccabed4bcfb6ab0e2a117a5b --- index.xml | 4 ++-- post/ssh-kekgen-action/index.html | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/index.xml b/index.xml index 2a8eb7f..82ba28f 100644 --- a/index.xml +++ b/index.xml @@ -2,12 +2,12 @@ <p>You can create key pairs in web page securely just by clicking.</p> <h2 id="quick-start">Quick start</h2> <ol> -<li><a href="https://github.com/gitx-io/ssh-keygen-template/generate">Use the template</a> to create a repo, better as a private repo for secrity</li> +<li><a href="https://github.com/gitx-io/ssh-keygen-template/generate">Use the template</a> to create a repo, better as a private repo for security</li> <li>Go to <code>Actions</code> top menu page, follow the steps as below:</li> </ol> <p><img src="https://raw.githubusercontent.com/image-store/github/master/ssh-key-template.png" alt="ssh keygen action steps"></p> <ol start="3"> -<li>After one minute or two, you&rsquo;ll see two files, <code>private_key.txt</code> and <code>public_key.txt</code>, are added/updated in repo&rsquo;s root direcotory when the action finished successfully</li> +<li>After one minute or two, you&rsquo;ll see two files, <code>private_key.txt</code> and <code>public_key.txt</code>, are added/updated in repo&rsquo;s root directory when the action finished successfully</li> <li>Open each file and click <code>Copy raw contents</code> button on the top right to copy the key</li> </ol> <p>Done!</p>在 Hugo 中使用 GitFxhttps://gitx.io/post/hugo-with-gitfx-zh_cn/Wed, 05 Jan 2022 12:26:51 +0000https://gitx.io/post/hugo-with-gitfx-zh_cn/<p><a href="https://github.com/gitx-io/GitFx">GitFx</a> 是我写的一个可以运行多种语言的代码片段的工具。同时提供了 <a href="https://github.com/gitx-io/ActionServerless">ActionServerless</a> 这个 action 方便在 GitHub 的 workflow 里运行 GitFx。之所以把它命名为 <code>ActionServerless</code> 这样的“热词”,除了蹭热度之外,你的确可以把用它实现的程序看作是一个 async 的 Serverless 应用。</p> diff --git a/post/ssh-kekgen-action/index.html b/post/ssh-kekgen-action/index.html index c759e73..d8b644c 100644 --- a/post/ssh-kekgen-action/index.html +++ b/post/ssh-kekgen-action/index.html @@ -153,12 +153,12 @@

Table of Contents

You can create key pairs in web page securely just by clicking.

Quick start

    -
  1. Use the template to create a repo, better as a private repo for secrity
  2. +
  3. Use the template to create a repo, better as a private repo for security
  4. Go to Actions top menu page, follow the steps as below:

ssh keygen action steps

    -
  1. After one minute or two, you’ll see two files, private_key.txt and public_key.txt, are added/updated in repo’s root direcotory when the action finished successfully
  2. +
  3. After one minute or two, you’ll see two files, private_key.txt and public_key.txt, are added/updated in repo’s root directory when the action finished successfully
  4. Open each file and click Copy raw contents button on the top right to copy the key

Done!

From 9f93b3556c1f10fd1b2ae7356ed581fc642b73cb Mon Sep 17 00:00:00 2001 From: B1nj0y Date: Tue, 2 Apr 2024 17:59:35 +0800 Subject: [PATCH 11/13] Delete CNAME --- CNAME | 1 - 1 file changed, 1 deletion(-) delete mode 100644 CNAME diff --git a/CNAME b/CNAME deleted file mode 100644 index dc4d7d6..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -gitx.io From b62e5d0d863e115edb7bcbc3198cf491842d813c Mon Sep 17 00:00:00 2001 From: gingerhot Date: Tue, 2 Apr 2024 10:29:24 +0000 Subject: [PATCH 12/13] deploy: gitfx/homepage@f59d9f304e582777a846dbde0da97a22be534e02 --- 404.html | 44 ++-- categories/index.html | 46 ++-- categories/index.xml | 2 +- index.html | 95 +++++-- index.xml | 13 +- page/1/index.html | 2 +- post/hugo-with-gitfx-zh_cn/index.html | 40 +-- post/hugo-with-gitfx/index.html | 44 ++-- post/index.html | 71 +++-- post/index.xml | 2 +- post/page/1/index.html | 2 +- post/ssh-kekgen-action/index.html | 46 ++-- post/stop-using-homebrew/index.html | 228 ++++++++++++++++ .../index.html | 243 ++++++++++++++++++ robots.txt | 2 +- sitemap.xml | 2 +- tags/actionserverless/index.html | 46 ++-- tags/actionserverless/index.xml | 2 +- tags/actionserverless/page/1/index.html | 2 +- tags/git/index.html | 46 ++-- tags/git/index.xml | 2 +- tags/git/page/1/index.html | 2 +- tags/gitfx/index.html | 46 ++-- tags/gitfx/index.xml | 2 +- tags/gitfx/page/1/index.html | 2 +- tags/github-actions/index.html | 56 ++-- tags/github-actions/index.xml | 2 +- tags/github-actions/page/1/index.html | 2 +- tags/homebrew/index.html | 182 +++++++++++++ tags/homebrew/index.xml | 1 + tags/homebrew/page/1/index.html | 1 + tags/index.html | 65 ++--- tags/index.xml | 2 +- tags/macos/index.html | 182 +++++++++++++ tags/macos/index.xml | 1 + tags/macos/page/1/index.html | 1 + tags/macports/index.html | 182 +++++++++++++ tags/macports/index.xml | 1 + tags/macports/page/1/index.html | 1 + tags/package-manager/index.html | 182 +++++++++++++ tags/package-manager/index.xml | 1 + tags/package-manager/page/1/index.html | 1 + tags/raas/index.html | 182 +++++++++++++ tags/raas/index.xml | 1 + tags/raas/page/1/index.html | 1 + tags/serverless/index.html | 56 ++-- tags/serverless/index.xml | 2 +- tags/serverless/page/1/index.html | 2 +- tags/ssh-keygen/index.html | 56 ++-- tags/ssh-keygen/index.xml | 2 +- tags/ssh-keygen/page/1/index.html | 2 +- 51 files changed, 1852 insertions(+), 347 deletions(-) create mode 100644 post/stop-using-homebrew/index.html create mode 100644 post/take-a-private-repo-as-your-server/index.html create mode 100644 tags/homebrew/index.html create mode 100644 tags/homebrew/index.xml create mode 100644 tags/homebrew/page/1/index.html create mode 100644 tags/macos/index.html create mode 100644 tags/macos/index.xml create mode 100644 tags/macos/page/1/index.html create mode 100644 tags/macports/index.html create mode 100644 tags/macports/index.xml create mode 100644 tags/macports/page/1/index.html create mode 100644 tags/package-manager/index.html create mode 100644 tags/package-manager/index.xml create mode 100644 tags/package-manager/page/1/index.html create mode 100644 tags/raas/index.html create mode 100644 tags/raas/index.xml create mode 100644 tags/raas/page/1/index.html diff --git a/404.html b/404.html index 8ffcb8c..c96c40c 100644 --- a/404.html +++ b/404.html @@ -2,7 +2,7 @@ -404 page not found - Gitx.io - Git toolbox +404 page not found - GitFx - Run Serverless in Git @@ -13,27 +13,27 @@ - - + + - + - + - + - + -
@@ -44,13 +44,13 @@ @@ -95,22 +95,22 @@