Full Code of huangyz0918/moving for AI

main 5a489e2273c6 cached
29 files
54.2 KB
17.0k tokens
1 requests
Download .txt
Repository: huangyz0918/moving
Branch: main
Commit: 5a489e2273c6
Files: 29
Total size: 54.2 KB

Directory structure:
gitextract_u1s11lwh/

├── .github/
│   └── workflows/
│       └── deploy.yml
├── .gitignore
├── Gemfile
├── LICENSE.txt
├── README.md
├── _config.yml
├── _includes/
│   ├── footer.html
│   ├── google-analytics.html
│   ├── head.html
│   └── social.html
├── _layouts/
│   ├── about.html
│   ├── default.html
│   ├── home.html
│   └── post.html
├── _posts/
│   ├── 2016-01-06-welcome-to-jekyll.md
│   ├── 2016-02-06-post-content-styles.md
│   ├── 2016-03-19-super-short-article.md
│   ├── 2016-04-23-super-long-article.md
│   ├── 2016-05-01-code-highlight-tests.md
│   ├── 2019-06-23-language-tests.md
│   └── 2020-04-15-math-test.md
├── _sass/
│   ├── moving/
│   │   ├── _base.scss
│   │   └── _layout.scss
│   └── moving.scss
├── about.md
├── assets/
│   └── css/
│       ├── agate.css
│       └── main.scss
├── index.md
└── moving.gemspec

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/workflows/deploy.yml
================================================
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: deploy

on:
  # Runs on pushes targeting the default branch
  push:
    branches: ["main"]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
  contents: read
  pages: write
  id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
  group: "pages"
  cancel-in-progress: false

jobs:
  # Build job
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Setup Ruby
        uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
        with:
          ruby-version: "3.1" # Not needed with a .ruby-version file
          bundler-cache: true # runs 'bundle install' and caches installed gems automatically
          cache-version: 0 # Increment this number if you need to re-download cached gems
      - name: Setup Pages
        id: pages
        uses: actions/configure-pages@v3
      - name: Build with Jekyll
        # Outputs to the './_site' directory by default
        run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
        env:
          JEKYLL_ENV: production
      - name: Upload artifact
        # Automatically uploads an artifact from the './_site' directory by default
        uses: actions/upload-pages-artifact@v2

  # Deployment job
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    needs: build
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v2


================================================
FILE: .gitignore
================================================
*.gem
.bundle
.jekyll-cache
.sass-cache
_site
Gemfile.lock

.DS_Store


================================================
FILE: Gemfile
================================================
# frozen_string_literal: true

source "https://rubygems.org"
gemspec
gem 'wdm', '>= 0.1.0' if Gem.win_platform?


================================================
FILE: LICENSE.txt
================================================
The MIT License (MIT)

Copyright (c) 2019 huangyz0918

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.


================================================
FILE: README.md
================================================
# moving

[![Gem Version](https://badge.fury.io/rb/moving.svg)](https://badge.fury.io/rb/moving) ![](https://img.shields.io/gem/dt/moving)

Moving is a clean and minimalist theme for [Jekyll](https://jekyllrb.com/), focusing on pure and efficient writing. [[view demo]](https://huangyz.name/moving/)


![](./.github/banner.png)

If you enjoy this theme, you can buy me a coffee : )

[![Support via PayPal](https://cdn.jsdelivr.net/gh/twolfson/paypal-github-button@1.0.0/dist/button.svg)](https://www.paypal.me/huangyz0918)

## Installation

### New Blog

If you want to create a new blog using moving. You can follow these steps after setting up the [Jekyll](https://jekyllrb.com) environments:

Clone this repository:

```bash
git clone https://github.com/huangyz0918/moving.git
```

Move into that directory:

```bash
cd moving/
```

Install required gems using `bundle`:

```bash
bundle install
```

Run the blog in localhost

```bash
jekyll serve
```

Once you successfully run the moving blog, you can modify the theme and add posts by yourself, have fun!

### Add Moving to an Existing Blog

Add this line to your Jekyll site's `Gemfile`:

```ruby
gem "moving"
```

And add this line to your Jekyll site's `_config.yml`:

```yaml
theme: moving
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install moving

### Deploy to Github Pages

:warning: If you want to publish your site in [Github Pages](https://pages.github.com/). Change `theme: xxx` in `_config.yml` to `remote_theme: huangyz0918/moving` then push to your github repo (this is important, or you will get an error from github pages that not support the moving theme). If you want to test your site locally, you can change that to `theme: moving` and build again.

Here is an [example](https://github.com/huangyz0918/personal-page-blog) for Github Pages.

## Usage

You can modify the `_config.yml` to custom your blog. An example is if you want to change the back button's text in each post, you can change the `back_to`.

```yaml
title: Moving # The title of the blog
author: Your Name # Your name
email: your-email@domain.com # your email shown in the footer
url: https://huangyz.name/moving/ # this is your site's root address.
description: > # this means to ignore newlines until "show_excerpts:"
  A clean and minimalist theme for Jekyll.
favicon: "./favicon.ico" # set the favicon of the site
show_excerpts: false # set to true to show excerpts on the homepage

# Moving date format
# refer to https://shopify.github.io/liquid/filters/date/ if you want to customize this
moving:
  avatar_url: "https://i.loli.net/2019/08/26/JzCLhDWPEybZr2T.jpg" # avatar in about page
  about_you: a short description about you. # short description about you in about page
  date_format: "%b %d" # date format of posts in home page
  back_to: "Home" # In the post page, you have a back button above the title, you can custom the text by yourself.

# Build settings
theme: moving # note, please use huangyz0918/moving if you want to publish to Github Pages.
```

## Contributing

Bug reports and pull requests are welcome on GitHub at [here](https://github.com/huangyz0918/moving). This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.

## Development

To set up your environment to develop this theme, run `bundle install`.

Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.

When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
To add a custom directory to your theme-gem, please edit the regexp in `moving.gemspec` accordingly.

## License

The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).


================================================
FILE: _config.yml
================================================
title: Moving # The title of the blog
author: Your Name # Your name
email: your-email@domain.com # your email shown in the footer
url: https://huangyz.name/moving/ # this is your site's root address.
description: > # this means to ignore newlines until "show_excerpts:"
  A clean and minimalist theme for Jekyll.
favicon: "./favicon.ico" # set the favicon of the site
show_excerpts: false # set to true to show excerpts on the homepage

# Moving date format
# refer to https://shopify.github.io/liquid/filters/date/ if you want to customize this
moving:
  avatar_url: "https://i.loli.net/2019/08/26/JzCLhDWPEybZr2T.jpg" # avatar in about page
  about_you: a short description about you. # short description about you in about page
  date_format: "%b %d" # date format of posts in home page
  back_to: "Home" # In the post page, you have a back button above the title, you can custom the text by yourself.

  # generate social links in about page.
  social_links:
    # twitter:
    github: huangyz0918
    rss: RSS
    # dribbble:
    facebook: huangyz0918
    # flickr:
    # instagram:
    linkedin: yizheng-huang
    # pinterest:
    # youtube:
    # youtube_channel:
    # youtube_channel_name:
    # telegram:
    # googleplus:
    # microdotblog:
    # reddit:

    # Mastodon instances
    # mastodon:
    # - username:
    #   instance:
    # - username:
    #   instance:

# Build settings
theme: moving # note, please use huangyz0918/moving if you want to publish to Github Pages.

plugins:
  - jekyll-feed
  - jekyll-seo-tag


================================================
FILE: _includes/footer.html
================================================
<footer class="site-footer h-card">
    <data class="u-url" href="{{ "/" | relative_url }}"></data>
    <div class="wrapper">
      <div class="footer-col-wrapper">
        <div class="footer-col">
          <ul class="contact-list">
            <li class="p-name">
              {%- if site.author -%}
                <a class="black-link" href="{{ site.url }}/about.html">
                  {{ site.author | escape }} 
                </a>
              {%- endif -%}
              </li>
              {%- if site.email -%}
              <li>
              <a class="u-email black-link" href="mailto:{{ site.email }}">{{ site.email }}</a></li>
              {%- endif -%}
          </ul>
        </div>
      </div>
    </div>
  </footer>

================================================
FILE: _includes/google-analytics.html
================================================
<script
  async
  src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"
></script>
<script>
  window["ga-disable-{{ site.google_analytics }}"] =
    window.doNotTrack === "1" ||
    navigator.doNotTrack === "1" ||
    navigator.doNotTrack === "yes" ||
    navigator.msDoNotTrack === "1";
  window.dataLayer = window.dataLayer || [];
  function gtag() {
    dataLayer.push(arguments);
  }
  gtag("js", new Date());
  gtag("config", "{{ site.google_analytics }}");
</script>


================================================
FILE: _includes/head.html
================================================
<head>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  {%- seo title=false -%}
  <link rel="stylesheet" href="{{ site.url }}/assets/css/main.css" />
  <link rel="shortcut icon" type="image/x-icon" href="/{{ site.favicon }}?" />
  <link rel="stylesheet" href="{{ site.url }}/assets/css/agate.css" />
  <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.4.0/highlight.min.js"></script>
  <script>
    hljs.initHighlightingOnLoad();
  </script>
  {%- feed_meta -%}
  {%- if jekyll.environment == 'production' and site.google_analytics -%}
  {%- include google-analytics.html -%}
  {%- endif -%}
</head>

================================================
FILE: _includes/social.html
================================================
{%- assign social = site.moving.social_links -%}

<ul class="social-media-list">
  {%- if social.dribbble -%}
  <li>
    <a
      class="black-link"
      href="https://dribbble.com/{{ social.dribbble | cgi_escape | escape }}"
      >[Dribbble]</a
    >
  </li>
  {%- endif -%} {%- if social.facebook -%}
  <li>
    <a
      class="black-link"
      href="https://www.facebook.com/{{
        social.facebook | cgi_escape | escape
      }}"
      >[Facebook]</a
    >
  </li>
  {%- endif -%} {%- if social.flickr -%}
  <li>
    <a
      class="black-link"
      href="https://www.flickr.com/photos/{{
        social.flickr | cgi_escape | escape
      }}"
      >[Flickr]</a
    >
  </li>
  {%- endif -%} {%- if social.github -%}
  <li>
    <a
      class="black-link"
      href="https://github.com/{{ social.github | cgi_escape | escape }}"
    > [Github]</a
    >
  </li>
  {%- endif -%} {%- if social.instagram -%}
  <li>
    <a
      class="black-link"
      href="https://www.instagram.com/{{
        social.instagram | cgi_escape | escape
      }}"
      >[Instagram]</a
    >
  </li>
  {%- endif -%} {%- if social.linkedin -%}
  <li>
    <a
      class="black-link"
      href="https://www.linkedin.com/in/{{
        social.linkedin | cgi_escape | escape
      }}"
      >[Linkedin]</a
    >
  </li>
  {%- endif -%} {%- if social.pinterest -%}
  <li>
    <a
      class="black-link"
      href="https://www.pinterest.com/{{
        social.pinterest | cgi_escape | escape
      }}"
      >[Pinterest]</a
    >
  </li>
  {%- endif -%} {%- for mst in social.mastodon -%}{%- if mst.username and
  mst.instance -%}
  <li>
    <a
      class="black-link"
      rel="me"
      href="https://{{ mst.instance | cgi_escape | escape }}/@{{
        mst.username
      }}"
      >[MST]</a
    >
  </li>
  {%- endif -%}{%- endfor -%} {%- if social.twitter -%}
  <li>
    <a
      class="black-link"
      href="https://twitter.com/{{ social.twitter | cgi_escape | escape }}"
    > [Twitter]</a
    >
  </li>
  {%- endif -%} {%- if social.youtube -%}
  <li>
    <a
      class="black-link"
      href="https://www.youtube.com/{{ social.youtube | cgi_escape | escape }}"
      >[YouTube]</a
    >
  </li>
  {%- endif -%} {%- if social.youtube_channel -%}
  <li>
    <a
      class="black-link"
      href="https://www.youtube.com/channel/{{
        social.youtube_channel | cgi_escape | escape
      }}"
      >[YouTube Channel]</a
    >
  </li>
  {%- endif -%} {%- if social.telegram -%}
  <li>
    <a
      class="black-link"
      href="https://t.me/{{ social.telegram | cgi_escape | escape }}"
    >
      [Telegram]
    </a>
  </li>
  {%- endif -%} {%- if social.microdotblog -%}
  <li>
    <a
      class="black-link"
      rel="me"
      href="https://micro.blog/{{ social.microdotblog | cgi_escape | escape }}"
      >[Microdotblog]</a
    >
  </li>
  {%- endif -%} {%- if social.reddit -%}
  <li>
    <a
      class="black-link"
      href="https://reddit.com/user/{{ social.reddit | cgi_escape | escape }}"
    >
      [Reddit]
    </a>
  </li>
  {%- endif -%} {%- if social.rss -%}
  <li>
    <a class="black-link" href="{{ 'feed.xml' | relative_url }}">[RSS]</a>
  </li>
  {%- endif -%}
</ul>


================================================
FILE: _layouts/about.html
================================================
---
layout: default
---

<div class="about-page">
  <head>
    <title>{{ site.author }}</title>
  </head>
  <div class="post-back">
    <a class="black-link" href="{{ site.url | relative_url }}"> ← {{ site.moving.back_to }} </a>
  </div>
  <div class="about-header">
    {%- if site.moving.avatar_url -%}
    <img class="about-avatar" src="{{ site.moving.avatar_url }}" />
    {%- endif -%} {%- if site.author -%}
    <div class="about-info">
      <div class="about-your-name">
        {{ site.author | escape }}
      </div>
      {%- endif -%} {%- if site.moving.about_you -%}
      <p class="about-description">
        {{ site.moving.about_you | escape }}
      </p>
      {%- endif -%} {%- include social.html -%}
    </div>
  </div>

  <div class="about-content e-content" itemprop="articleBody">
    {{ content }}
  </div>
</div>


================================================
FILE: _layouts/default.html
================================================
<!DOCTYPE html>
<html lang="{{ page.lang | default: site.lang | default: "en" }}">
        {%- include head.html -%}
    <body>
    <main class="page-content" aria-label="Content">
        <div class="wrapper">
            {{ content }}
        </div>
    </main>
        {%- include footer.html -%}
    </body>
</html>

================================================
FILE: _layouts/home.html
================================================
---
layout: default
---

<div class="home">
  <head>
      <title>{{ site.title }}</title>
  </head>
  <div class="home-title">
    <p class="home-heading">{{ site.title }}</p>
    <p class="home-sub-heading">{{- site.description | escape -}}</p>
  </div>

  {%- if site.posts.size > 0 -%}
  <ul class="post-list">
      {% for post in site.posts  %}
      {% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %}
      {% capture next_year %}{{ post.previous.date | date: "%Y" }}{% endcapture %}
  
      {% if forloop.first %}
      <h2 id="{{ this_year }}-ref" class="post-year">{{this_year}}</h2>
      <ul>
      {% endif %}
  
      <li>
          {%- assign date_format = site.moving.date_format | default: "%b %-d, %Y" -%}
          <span class="post-meta">
            {{ post.date | date: date_format }}
          </span>
          <a class="black-link post-link-layout" href="{{ post.url | relative_url }}">
            {{ post.title | escape }}
          </a>
      </li>
  
      {% if forloop.last %}
      </ul>
      {% else %}
          {% if this_year != next_year %}
          </ul>
          <h2 id="{{ next_year }}-ref" class="post-year">{{next_year}}</h2>
          <ul>
          {% endif %}
      {% endif %}
  {% endfor %}
  </ul>
  {%- endif -%}
</div>


================================================
FILE: _layouts/post.html
================================================
---
layout: default
---

<article
  class="post h-entry"
  itemscope
  itemtype="http://schema.org/BlogPosting"
>
  <head>
    <script type="text/javascript" async
      src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML">
    </script>
    <title>{{ page.title }}</title>
  </head>
  <header class="post-header">
    <div class="post-back">
      <a class="black-link" href="{{ site.url | relative_url }}">
        ← {{ site.moving.back_to }}
      </a>
    </div>

    <h1 class="post-title p-name" itemprop="name headline">
      {{ page.title | escape }}
    </h1>
    <p class="post-meta">
      <time
        class="dt-published"
        datetime="{{ page.date | date_to_xmlschema }}"
        itemprop="datePublished"
      >
        {%- assign date_format = "%b %-d, %Y" -%}
        {{ page.date | date: date_format }}
      </time>
      {%- if page.author -%} •
      <span itemprop="author" itemscope itemtype="http://schema.org/Person"
        ><span class="p-author h-card" itemprop="name">{{
          page.author | escape
        }}</span></span
      >
      {%- endif -%}
    </p>
  </header>

  <div class="post-content e-content" itemprop="articleBody">
    {{ content }}
  </div>

  <a class="u-url" href="{{ page.url | relative_url }}" hidden></a>
</article>


================================================
FILE: _posts/2016-01-06-welcome-to-jekyll.md
================================================
---
layout: post
---
You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.

To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.

Jekyll also offers powerful support for code snippets:

{% highlight ruby %}
def print_hi(name)
  puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.
{% endhighlight %}

Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk].

[jekyll-docs]: http://jekyllrb.com/docs/home
[jekyll-gh]:   https://github.com/jekyll/jekyll
[jekyll-talk]: https://talk.jekyllrb.com/

================================================
FILE: _posts/2016-02-06-post-content-styles.md
================================================
---
layout: post
title: "Post Content Styles"
categories: junk
author: "Yizheng Huang"
meta: "Springfield"
---

# Great heading (h1)
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit.

## Some great heading (h2)

Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu.

Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.

## Another great heading (h2)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit.

### Some great subheading (h3)

Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum.

Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc.

### Some great subheading (h3)

Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.

> This quote will change your life. It will reveal the secrets of the universe, and all the wonders of humanity. Don't misuse it.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt.

### Some great subheading (h3)

Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum.

```html
<html>
  <head>
  </head>
  <body>
    <p>Hello, World!</p>
  </body>
</html>
```


In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris.

#### You might want a sub-subheading (h4)

In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris.

In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris.

##### But it's probably overkill (h5)

In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris.

###### Oh hai, an unordered list!! (h6)

In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris.

- First item, yo
- Second item, dawg
- Third item, what what?!
- Fourth item, fo sheezy my neezy

### Oh hai, an ordered list!!

In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris.

1. First item, yo
2. Second item, dawg
3. Third item, what what?!
4. Fourth item, fo sheezy my neezy



## Headings are cool! (h2)

Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.

Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.

Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc.

### Tables

Title 1               | Title 2               | Title 3               | Title 4
--------------------- | --------------------- | --------------------- | ---------------------
lorem                 | lorem ipsum           | lorem ipsum dolor     | lorem ipsum dolor sit
lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit
lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit
lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit


### Images 

![](https://i.loli.net/2020/04/16/TiPKsjzZdcp2tOq.jpg)


### Styles

_Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est._

---

Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing **sollicitudin, adipiscing eget est.**



================================================
FILE: _posts/2016-03-19-super-short-article.md
================================================
---
layout: post
title: "Short Article"
categories: misc
---

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

================================================
FILE: _posts/2016-04-23-super-long-article.md
================================================
---
layout: post
title: "Long Article"
categories: misc
---

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.

================================================
FILE: _posts/2016-05-01-code-highlight-tests.md
================================================
---
layout: post
title: "Code Highlight Tests"
categories: misc
---

## Test for C
```c
#define UNICODE
#include <windows.h>
 
int main(int argc, char **argv) {
  int speed = 0, speed1 = 0, speed2 = 0; // 1-20
  printf("Set Mouse Speed by Maverick\n");
 
  SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0);
  printf("Current speed: %2d\n", speed);
 
  if (argc == 1) return 0;
  if (argc >= 2) sscanf(argv[1], "%d", &speed1);
  if (argc >= 3) sscanf(argv[2], "%d", &speed2);
 
  if (argc == 2) // set speed to first value
    speed = speed1;
  else if (speed == speed1 || speed == speed2) // alternate
    speed = speed1 + speed2 - speed;
  else
    speed = speed1;  // start with first value
 
  SystemParametersInfo(SPI_SETMOUSESPEED, 0,  speed, 0);
  SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0);
  printf("New speed:     %2d\n", speed);
  return 0;
}
```

## Test for Java

```java
import java.util.Map;
import java.util.TreeSet;
 
public class GetEnv {
  /**
   * let's test generics
   * @param args the command line arguments
   */
  public static void main(String[] args) {
    // get a map of environment variables
    Map<String, String> env = System.getenv();
    // build a sorted set out of the keys and iterate
    for(String k: new TreeSet<String>(env.keySet())) {
      System.out.printf("%s = %s\n", k, env.get(k));
    }
  }    
}
```

## Test for Perl

```perl
#!perl -w
 
# Time-stamp: <2002/04/06, 13:12:13 (EST), maverick, csvformat.pl>
# Two pass CSV file to table formatter
 
$delim = $#ARGV >= 1 ? $ARGV[1] : ',';
print STDERR "Split pattern: $delim\n";
 
# first pass
open F, "<$ARGV[0]" or die;
while(<F>)
{
  chomp;
  $i = 0;
  map { $max[$_->[1]] = $_->[0] if $_->[0] > ($max[$_->[1]] || 0) }
    (map {[length $_, $i++]} split($delim));
}
close F;
 
print STDERR 'Field width:   ', join(', ', @max), "\n";
print STDERR join(' ', map {'-' x $_} @max);
 
# second pass
open F, "<$ARGV[0]" or die;
while(<F>)
  {
  chomp;
  $i = 0;
  map { printf("%-$max[$_->[1]]s ", $_->[0]) }
    (map {[$_, $i++]} split($delim));
  print "\n";
}
close F;
```

## Test for Python

```python
# test python (sample from offlineimap)
 
class ExitNotifyThread(Thread):
    """This class is designed to alert a "monitor" to the fact that a thread has
    exited and to provide for the ability for it to find out why."""
    def run(self):
        global exitthreads, profiledir
        self.threadid = thread.get_ident()
        try:
            if not profiledir:          # normal case
                Thread.run(self)
            else:
                try:
                    import cProfile as profile
                except ImportError:
                    import profile
                prof = profile.Profile()
                try:
                    prof = prof.runctx("Thread.run(self)", globals(), locals())
                except SystemExit:
                    pass
                prof.dump_stats( \
                            profiledir + "/" + str(self.threadid) + "_" + \
                            self.getName() + ".prof")
        except:
            self.setExitCause('EXCEPTION')
            if sys:
                self.setExitException(sys.exc_info()[1])
                tb = traceback.format_exc()
                self.setExitStackTrace(tb)
        else:
            self.setExitCause('NORMAL')
        if not hasattr(self, 'exitmessage'):
            self.setExitMessage(None)
 
        if exitthreads:
            exitthreads.put(self, True)
 
    def setExitCause(self, cause):
        self.exitcause = cause
    def getExitCause(self):
        """Returns the cause of the exit, one of:
        'EXCEPTION' -- the thread aborted because of an exception
        'NORMAL' -- normal termination."""
        return self.exitcause
    def setExitException(self, exc):
        self.exitexception = exc
    def getExitException(self):
        """If getExitCause() is 'EXCEPTION', holds the value from
        sys.exc_info()[1] for this exception."""
        return self.exitexception
    def setExitStackTrace(self, st):
        self.exitstacktrace = st
    def getExitStackTrace(self):
        """If getExitCause() is 'EXCEPTION', returns a string representing
        the stack trace for this exception."""
        return self.exitstacktrace
    def setExitMessage(self, msg):
        """Sets the exit message to be fetched by a subsequent call to
        getExitMessage.  This message may be any object or type except
        None."""
        self.exitmessage = msg
    def getExitMessage(self):
        """For any exit cause, returns the message previously set by
        a call to setExitMessage(), or None if there was no such message
        set."""
        return self.exitmessage
```

## Test for Bash

```bash
#!/bin/bash
cd $ROOT_DIR
DOT_FILES="lastpass weechat ssh Xauthority"
for dotfile in $DOT_FILES; do conform_link "$DATA_DIR/$dotfile" ".$dotfile"; done
 
# TODO: refactor with suffix variables (or common cron values)
 
case "$PLATFORM" in
    linux)
        #conform_link "$CONF_DIR/shell/zshenv" ".zshenv"
        crontab -l > $ROOT_DIR/tmp/crontab-conflict-arch
        cd $ROOT_DIR/$CONF_DIR/cron
        if [[ "$(diff ~/tmp/crontab-conflict-arch crontab-current-arch)" == ""
            ]];
            then # no difference with current backup
                logger "$LOG_PREFIX: crontab live settings match stored "\
                    "settings; no restore required"
                rm ~/tmp/crontab-conflict-arch
            else # current crontab settings in file do not match live settings
                crontab $ROOT_DIR/$CONF_DIR/cron/crontab-current-arch
                logger "$LOG_PREFIX: crontab stored settings conflict with "\
                    "live settings; stored settings restored. "\
                    "Previous settings recorded in ~/tmp/crontab-conflict-arch."
        fi
    ;;
```

## Test for Haskell

```haskell
{-# LANGUAGE OverloadedStrings #-}
module Main where
 
--import Prelude hiding (id)
--import Control.Category (id)
import Control.Arrow ((>>>), (***), arr)
import Control.Monad (forM_)
-- import Data.Monoid (mempty, mconcat)
 
-- import System.FilePath
 
import Hakyll
 
 
main :: IO ()
main = hakyll $ do
 
    route   "css/*" $ setExtension "css"
    compile "css/*" $ byExtension (error "Not a (S)CSS file")
        [ (".css",  compressCssCompiler)
        , (".scss", sass)
        ]
 
    route   "js/**" idRoute
    compile "js/**" copyFileCompiler
 
    route   "img/*" idRoute
    compile "img/*" copyFileCompiler
 
    compile "templates/*" templateCompiler
 
    forM_ ["test.md", "index.md"] $ \page -> do
        route   page $ setExtension "html"
        compile page $ pageCompiler
            >>> applyTemplateCompiler "templates/default.html"
            >>> relativizeUrlsCompiler
 
sass :: Compiler Resource String
sass = getResourceString >>> unixFilter "sass" ["-s", "--scss"]
                         >>> arr compressCss
```

## Test for PHP

```php

<?php
require_once($GLOBALS['g_campsiteDir']. "/$ADMIN_DIR/country/common.php");
require_once($GLOBALS['g_campsiteDir']. "/classes/SimplePager.php");
camp_load_translation_strings("api");
 
$f_country_language_selected = camp_session_get('f_language_selected', '');
$f_country_offset = camp_session_get('f_country_offset', 0);
if (empty($f_country_language_selected)) {
    $f_country_language_selected = null;
}
$ItemsPerPage = 20;
$languages = Language::GetLanguages(null, null, null, array(), array(), true);
$numCountries = Country::GetNumCountries($f_country_language_selected);
 
$pager = new SimplePager($numCountries, $ItemsPerPage, "index.php?");
 
$crumbs = array();
$crumbs[] = array(getGS("Configure"), "");
$crumbs[] = array(getGS("Countries"), "");
echo camp_html_breadcrumbs($crumbs);
 
?>
 
<?php  if ($g_user->hasPermission("ManageCountries")) { ?>
<table BORDER="0" CELLSPACING="0" CELLPADDING="1">
    <tr>
        <td><a href="add.php"><?php putGS("Add new"); ?></a></td>
    </tr>
</table>
```

## Test for Javascript 

```js
import isTypedArray from 'lodash/isTypedArray';
import reverse from 'lodash/reverse';
import sortBy from 'lodash/sortBy';
import take from 'lodash/take';
import { food101Classes } from './food101';

export function food101topK(classProbabilities, k = 5) {
  const probs = isTypedArray(classProbabilities)
    ? Array.prototype.slice.call(classProbabilities)
    : classProbabilities;

  const sorted = reverse(
    sortBy(
      probs.map((prob, index) => [ prob, index ]),
      probIndex => probIndex[0]
    )
  );

  const topK = take(sorted, k).map(probIndex => {
    const iClass = food101Classes[probIndex[1]];
    return {
      id: probIndex[1],
      name: iClass.replace(/_/, ' '),
      probability: probIndex[0]
    };
  });
  return topK;
};
```

## Test for HTML

```html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>A Tiny Page</title>
<style type="text/css">
<!--
      p { font-size:15pt; color:#000 }
    -->
</style></head><!-- real comment -->
<body bgcolor="#FFFFFF" text="#000000" link="#0000CC">
<script language="javascript" type="text/javascript">
      function changeHeight(h) {
        var tds = document.getElementsByTagName("td");
        for(var i = 0; i < tds.length; i++) {
          tds[i].setAttribute("height", h + "px");
      }}
</script>
<h1>abc</h1>
<h2>def</h2>
<p>Testing page</p>
</body></html>
```

## Test for CSS

```css
/*
Monokai style - ported by Luigi Maselli - http://grigio.org
*/

.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  background: #272822; color: #ddd;
}

.hljs-tag,
.hljs-keyword,
.hljs-selector-tag,
.hljs-literal,
.hljs-strong,
.hljs-name {
  color: #f92672;
}

.hljs-code {
  color: #66d9ef;
}

.hljs-class .hljs-title {
  color: white;
}
```

================================================
FILE: _posts/2019-06-23-language-tests.md
================================================
---
layout: post
title: "Language Tests"
categories: misc
---

### 1. 日本語テスト

This is a Japanese test post to show you how japanese is displayed.

私は昨日ついにその助力家というのの上よりするたなけれ。
最も今をお話団はちょうどこの前後なかろでくらいに困りがいるたをは帰着考えたなかって、そうにもするでうたらない。
がたを知っないはずも同時に九月をいよいよたありた。

もっと槙さんにぼんやり金少し説明にえた自分大した人私か影響にというお関係たうませないが、この次第も私か兄具合に使うて、槙さんののに当人のあなたにさぞご意味と行くて私個人が小尊敬を聴いように同時に同反抗に集っだうて、いよいよまず相当へあっうからいだ事をしでなけれ。

> それでそれでもご時日をしはずはたったいやと突き抜けるますて、その元がは行ったてという獄を尽すていけですた。

この中道具の日その学校はあなたごろがすまなりかとネルソンさんの考えるですん、辺の事実ないというご盲従ありたですと、爺さんのためが薬缶が結果までの箸の当時してならて、多少の十月にためからそういう上からとにかくしましないと触れべきものたで、ないうですと多少お人達したのでたた。

From [すぐ使えるダミーテキスト - 日本語 Lorem ipsum.](http://lipsum.sugutsukaeru.jp/index.cgi) 


### 2. 繁体中文测试

This is a chinese test post to show you how chinese is displayed.

善我王上魚、產生資西員合兒臉趣論。畫衣生這著爸毛親可時,安程幾?合學作。觀經而作建。都非子作這!法如言子你關!手師也。

以也座論頭室業放。要車時地變此親不老高小是統習直麼調未,行年香一?

就竟在,是我童示讓利分和異種百路關母信過明驗有個歷洋中前合著區亮風值新底車有正結,進快保的行戰從:弟除文辦條國備當來際年每小腳識世可的的外的廣下歌洲保輪市果底天影;全氣具些回童但倒影發狀在示,數上學大法很,如要我……月品大供這起服滿老?應學傳者國:山式排只不之然清同關;細車是!停屋常間又,資畫領生,相們制在?公別的人寫教資夠。資再我我!只臉夫藝量不路政吃息緊回力之;兒足灣電空時局我怎初安。意今一子區首者微陸現際安除發連由子由而走學體區園我車當會,經時取頭,嚴了新科同?很夫營動通打,出和導一樂,查旅他。坐是收外子發物北看蘭戰坐車身做可來。道就學務。

國新故。

> 工步他始能詩的,裝進分星海演意學值例道……於財型目古香亮自和這乎?化經溫詩。只賽嚴大一主價世哥受的沒有中年即病行金拉麼河。主小路了種就小為廣不?

From [亂數假文產生器 - Chinese Lorem Ipsum.](http://www.richyli.com/tool/loremipsum/) 



### 3. 简体中文测试

效育声去本义然空,各值太法心想,场强实地。 题铁习点儿表管少间千,只何政亲织文意部,千影画派证男须。 手反取长风治增非等直难群,连取及天他己事头级,影数弦适把气快目人。 专议以省通引而千个,格则口段度样水热马,地教少务改磨。 包思外心半院应她算斯,市外会快记路又火学,劳如肃它准众丧边。
   
  > 团算部住县单总边素格军所,合音府教看和广光采率位转,位用品根确针百。 证其标元角工方海接交他,论象切万世认一响义,治然身本风弦带题。 向我次路持加北,她不反心。 说总元军例市决,现始即算证养,规走还壳。

因林可相儿应满军,热影省条律因资再,整肃赤心将届。 局广写两量备验还,南教事争工民的,备进研上布。 素身电活非直,速这区交示从,百层达。 资量那毛什京身,白这快。 半打容三手开常价或,手严量般象式效,名可重芽门适。 来设什一我么,光界美么或,住身式准。 造酸改表委验众办地百养,商物战众本列听度名院,制压录丽快与千机内。 住需当四议决得命南然照按民置,当住命形金决否矿单外。 气象理离开新集增际,三划方工义很年关,拉许准孝口。 构片出干计由备美打养,持育总指承入无己。

From [假文生成器, lorem ipsum Chinese](http://www.cancms.com/content/dummytext)

================================================
FILE: _posts/2020-04-15-math-test.md
================================================
---
layout: post
title: "Math Tests"
categories: misc
---

$$
R_{\mu \nu} - {1 \over 2}g_{\mu \nu}\,R + g_{\mu \nu} \Lambda
= {8 \pi G \over c^4} T_{\mu \nu}
$$

The equation $$(x_i \cdot x_j)^2$$ is called kernel function and is often written as $$k(x_i, x_j)$$.

$$
\arg\max_\alpha \sum_j \alpha_j - \frac{1}{2} \sum_{j,k} \alpha_j, \alpha_k y_j y_k (x_j \cdot x_k)
$$

$$
f(X) = \frac{1}{(2\pi)^{\frac{n}{2} |\Sigma|^{\frac{1}{2}}}} e^{ - \frac{1}{2} (X - \mu)^T \Sigma^{-1} (X - \mu)}
$$

$$
\mu_i = \sum_{j=1}^N \frac{p_{ij} x}{n_i} \\
\Sigma_i = \sum_{j=1}^N \frac{p_{ij} (x_j - \mu_i) (x_j - \mu_i)^T}{n_i}\\
w_i  =  \frac{n_i}{N}
$$

$$
S_i^{(t)} = \big \{ x_p : \big \| x_p - \mu^{(t)}_i \big \|^2 \le \big \| x_p - \mu^{(t)}_j \big \|^2 \ \forall j, 1 \le j \le k \big\}
$$

================================================
FILE: _sass/moving/_base.scss
================================================
/**
 * Reset some basic elements
 */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
hr,
dl,
dd,
ol,
ul,
figure {
  margin: 0;
  padding: 0;
}

/**
  * Basic styling
  */
body {
  font: $base-font-weight #{$small-font-size}/#{$small-line-height}
    $base-font-family;
  color: $text-color;
  background-color: $background-color;
  -webkit-text-size-adjust: 100%;
  -webkit-font-feature-settings: "kern" 1;
  -moz-font-feature-settings: "kern" 1;
  -o-font-feature-settings: "kern" 1;
  font-feature-settings: "kern" 1;
  font-kerning: normal;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  padding: 0 2%;

  @media screen and (min-width: $on-medium) {
    padding: 0 5%;
    font: $base-font-weight #{$base-font-size}/#{$base-line-height}
      $base-font-family;
  }
}

/**
  * Set `margin-bottom` to maintain vertical rhythm
  */
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
ul,
ol,
dl,
figure,
%vertical-rhythm {
  margin-bottom: $spacing-unit / 2;
}

/**
  * `main` element
  */
main {
  display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */
}

/**
  * Divider
  */
hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  height: 1px;
  background: -webkit-linear-gradient(
    left,
    transparent,
    rgba(0, 0, 0, 0.5),
    transparent
  );
  background: linear-gradient(
    left,
    transparent,
    rgba(0, 0, 0, 0.5),
    transparent
  );
}

/**
  * Images
  */
img {
  margin-bottom: 5px;
  margin-top: 5px;
  padding: 2px 2px;
  border-radius: 3px;
  background-color: lighten($grey-color-light, 3%);
  max-width: 100%;
  vertical-align: middle;
}

/**
  * Figures
  */
figure > img {
  display: block;
}

figcaption {
  font-size: $small-font-size;
}

/**
  * Lists
  */
ul,
ol {
  margin-left: $spacing-unit;
}

li {
  > ul,
  > ol {
    margin-bottom: 0;
  }
}

/**
  * Headings
  */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 2rem;
  font-weight: $base-font-weight;
}

/**
  * Links
  */
a {
  color: $brand-color;
  text-decoration: none;

  &:hover {
    text-decoration: underline;
  }
}

/**
  * Blockquotes
  */
blockquote {
  color: $grey-color;
  border-left: 4px solid $grey-color-light;
  padding-left: $spacing-unit / 2;
  @include relative-font-size(1);
  letter-spacing: -1px;

@media (max-width: 600px) {
  @include relative-font-size(0.8);
}

  > :last-child {
    margin-bottom: 0;
  }
}

/**
  * Code formatting
  */
pre,
code {
  @include relative-font-size(0.9);
  border: 1px solid darken($grey-color-light, 3%);
  border-radius: 3px;
  background-color: lighten($grey-color-light, 3%);
}

code {
  padding: 1px 1px;
}

pre {
  padding: 2px 2px;
  overflow-x: auto;

  > code {
    border: 0;
    padding-right: 0;
    padding-left: 0;
  }
}

/**
  * Wrapper
  */
.wrapper {
  max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));
  max-width: calc(#{$content-width} - (#{$spacing-unit}));
  margin-right: auto;
  margin-left: auto;
  padding-right: $spacing-unit / 2;
  padding-left: $spacing-unit / 2;
  @extend %clearfix;

  @media screen and (min-width: $on-large) {
    max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
    max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
    padding-right: $spacing-unit;
    padding-left: $spacing-unit;
  }
}

/**
  * Clearfix
  */
%clearfix:after {
  content: "";
  display: table;
  clear: both;
}

/**
  * Icons
  */

.orange {
  color: $orange-color;
}

.grey {
  color: $grey-color;
}

.svg-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
  fill: currentColor;
  padding: 5px 3px 2px 5px;
  vertical-align: text-bottom;
}

/**
  * Tables
  */
table {
  margin-bottom: $spacing-unit;
  width: 100%;
  text-align: $table-text-align;
  color: lighten($text-color, 18%);
  border-collapse: collapse;
  border: 1px solid $grey-color-light;
  tr {
    &:nth-child(even) {
      background-color: lighten($grey-color-light, 6%);
    }
  }
  th,
  td {
    padding: ($spacing-unit / 3) ($spacing-unit / 2);
  }
  th {
    background-color: lighten($grey-color-light, 3%);
    border: 1px solid darken($grey-color-light, 4%);
    border-bottom-color: darken($grey-color-light, 12%);
  }
  td {
    border: 1px solid $grey-color-light;
  }
}

nav {
  width: 100%;
  li {
    display: inline;
    padding-top: 20px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
  }
}

/* home: post list */
.post-list ul {
	margin-left: 0;
}
.post-list ul li {
	display: flex;
}
.post-meta {
	min-width: 80px;
	font-size: 21.6px;
}


================================================
FILE: _sass/moving/_layout.scss
================================================
/**
 * Site header
 */
.site-header {
  border-top: 5px solid $grey-color-dark;
  border-bottom: 1px solid $grey-color-light;
  min-height: $spacing-unit * 1.865;
  line-height: $base-line-height * $base-font-size * 2.25;

  // Positioning context for the mobile navigation icon
  position: relative;
}

.site-nav {
  position: absolute;
  top: 9px;
  right: $spacing-unit / 2;
  background-color: $background-color;
  border: 1px solid $grey-color-light;
  border-radius: 5px;
  text-align: right;

  .nav-trigger {
    display: none;
  }

  .menu-icon {
    float: right;
    width: 36px;
    height: 26px;
    line-height: 0;
    padding-top: 10px;
    text-align: center;

    > svg path {
      fill: $grey-color-dark;
    }
  }

  label[for="nav-trigger"] {
    display: block;
    float: right;
    width: 36px;
    height: 36px;
    z-index: 2;
    cursor: pointer;
  }

  input ~ .trigger {
    clear: both;
    display: none;
  }

  input:checked ~ .trigger {
    display: block;
    padding-bottom: 5px;
  }

  .page-link {
    color: $text-color;
    line-height: $base-line-height;
    display: block;
    padding: 5px 10px;

    // Gaps between nav items, but not on the last one
    &:not(:last-child) {
      margin-right: 0;
    }
    margin-left: 20px;
  }

  @media screen and (min-width: $on-medium) {
    position: static;
    float: right;
    border: none;
    background-color: inherit;

    label[for="nav-trigger"] {
      display: none;
    }

    .menu-icon {
      display: none;
    }

    input ~ .trigger {
      display: block;
    }

    .page-link {
      display: inline;
      padding: 0;

      &:not(:last-child) {
        margin-right: 20px;
      }
      margin-left: auto;
    }
  }
}

/**
 * Site footer
 */
.site-footer {
  padding: $spacing-unit / 1.5 0;
}

.footer-heading {
  @include relative-font-size(1.125);
  margin-bottom: $spacing-unit / 2;
}

.p-name {
  @media (max-width: 500px) {
    @include relative-font-size(0.9);
  }
}

.u-email {
  @media (max-width: 500px) {
    @include relative-font-size(0.9);
  }
}

.contact-list,
.social-media-list {
  list-style: none;
  margin-left: 0;
}

/**
 * Page content
 */
.page-content {
  padding: $spacing-unit 0;
  flex: 1 0 auto;
}

.page-heading {
  @include relative-font-size(2);
}

.home-title {
  margin-top: -10px;
}

.home-heading {
  font-weight: 1000;
  color: lighten($text-color, 15%);

  @media (max-width: 500px) {
    margin-top: 20px;
    @include relative-font-size(1.7);
  }

  @include relative-font-size(2.2);
}

.home-sub-heading {
  margin-top: -0.6rem;
  color: lighten($text-color, 25%);

  @media (max-width: 500px) {
    @include relative-font-size(0.8);
  }

  @include relative-font-size(1);
}

.post-list {
  margin-top: 2.5rem;
  margin-left: 0;
  list-style: none;

  li {
    margin-bottom: $spacing-unit / 12;
  }
}

.post-year {
  margin-top: 2rem;
  margin-bottom: 0.25rem;
  font-weight: 700;
  color: lighten($text-color, 15%);

  @media (max-width: 500px) {
    @include relative-font-size(1.2);
  }

  @include relative-font-size(1.5);
}

.post-meta {
  display: inline-block;
  min-width: 60px;

  @media (max-width: 500px) {
    @include relative-font-size(0.8);
  }

  @include relative-font-size(1);
  color: lighten($text-color, 25%);
}

.post-link-layout {
  margin-left: 10%;
  display: inline;

  @media (max-width: 500px) {
    @include relative-font-size(1);
  }

  @include relative-font-size(1.2);
}

.black-link {
  color: $text-color;
  text-decoration: none;

  &:hover {
    color: $text-color;
    text-decoration: underline;
  }
}

.post-back {
  margin-bottom: 20px;
  color: lighten($text-color, 25%);
}

/**
 * Posts
 */
.post-header {
  margin-bottom: $spacing-unit;
}

.post-title,
.post-content h1 {
  @include relative-font-size(2.2);
  line-height: 1.3;
  font-weight: 1000;
  margin-top: -0.5rem;

  @media (max-width: 500px) {
    @include relative-font-size(1.8);
  }

  @media screen and (min-width: $on-large) {
    @include relative-font-size(2.2);
  }
}

.post-content {
  margin-top: 3.2rem;
  margin-bottom: $spacing-unit;

  h2 {
    @include relative-font-size(1.75);

    @media screen and (min-width: $on-large) {
      @include relative-font-size(2);
    }
  }

  h3 {
    @include relative-font-size(1.375);

    @media screen and (min-width: $on-large) {
      @include relative-font-size(1.625);
    }
  }

  h4 {
    @include relative-font-size(1.125);

    @media screen and (min-width: $on-large) {
      @include relative-font-size(1.25);
    }
  }
}

.social-media-list {
  margin-top: -1rem;
  display: flex;
  @include relative-font-size(1);
  li {
    float: left;
    a {
      padding-right: $spacing-unit / 5;
    }
  }
}

/**
 * Grid helpers
 */
@media screen and (min-width: $on-large) {
  .one-half {
    width: -webkit-calc(50% - (#{$spacing-unit} / 2));
    width: calc(50% - (#{$spacing-unit} / 2));
  }
}

/**
 * About Page
 */
.about-page {
  display: inline-block;

  .about-header {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;

    .about-avatar {
      padding: 1px;
      border: 1px solid $grey-color-light;
      width: 10rem;
      height: 10rem;
      margin: 0 2rem 0 0;
    }

    .about-info {
      align-self: center;

      .about-your-name {
        display: flex;
        flex-direction: row;
        margin-top: 1rem;
        @include relative-font-size(1.5);
      }

      .about-description {
        margin-top: -0.6rem;
        @include relative-font-size(1);
        color: lighten($text-color, 25%);
      }
    }
  }

  .about-content {
    margin-top: 2rem;
  }
}


================================================
FILE: _sass/moving.scss
================================================
@charset "utf-8";

// Define defaults for each variable.

$base-font-family: "Bitter", 'Hiragino Sans GB', 'Microsoft Yahei', '微软雅黑', "Bitter", sans-serif;
$base-font-size: 18px !default;
$base-font-weight: 400 !default;
$small-font-size: $base-font-size * 0.85 !default;
$base-line-height: 1.8 !default;
$small-line-height: 1.6 !default;

$spacing-unit: 30px !default;

$text-color: #111 !default;
$background-color: #fdfdfd !default;
$brand-color: #2a7ae2 !default;

$grey-color: #828282 !default;
$grey-color-light: lighten($grey-color, 40%) !default;
$grey-color-dark: darken($grey-color, 25%) !default;
$orange-color: #f66a0a !default;
$table-text-align: left !default;

// Width of the content area
$content-width: 800px !default;

$on-palm: 600px !default;
$on-laptop: 800px !default;

$on-medium: $on-palm !default;
$on-large: $on-laptop !default;

@mixin media-query($device) {
  @media screen and (max-width: $device) {
    @content;
  }
}

@mixin relative-font-size($ratio) {
  font-size: $base-font-size * $ratio;
}

// Import partials.
@import "moving/base", "moving/layout";


================================================
FILE: about.md
================================================
---
layout: about
---

These are controlled by `about.md` under the root directory. If you want a more diverse self-introduction, you can insert the markdown content you want here.

### What's New

- One paper got accepted in xxx 2019.
- I'm going to join xxx as a xxx 2019 Fall.


================================================
FILE: assets/css/agate.css
================================================
/*!
 * Agate by Taufik Nurrohman <https://github.com/tovic>
 * ----------------------------------------------------
 *
 * #ade5fc
 * #a2fca2
 * #c6b4f0
 * #d36363
 * #fcc28c
 * #fc9b9b
 * #ffa
 * #fff
 * #333
 * #62c8f3
 * #888
 *
 */

.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  background: #333;
  color: white;
}

.hljs-name,
.hljs-strong {
  font-weight: bold;
}

.hljs-code,
.hljs-emphasis {
  font-style: italic;
}

.hljs-tag {
  color: #62c8f3;
}

.hljs-variable,
.hljs-template-variable,
.hljs-selector-id,
.hljs-selector-class {
  color: #ade5fc;
}

.hljs-string,
.hljs-bullet {
  color: #a2fca2;
}

.hljs-type,
.hljs-title,
.hljs-section,
.hljs-attribute,
.hljs-quote,
.hljs-built_in,
.hljs-builtin-name {
  color: #ffa;
}

.hljs-number,
.hljs-symbol,
.hljs-bullet {
  color: #d36363;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-literal {
  color: #fcc28c;
}

.hljs-comment,
.hljs-deletion,
.hljs-code {
  color: #888;
}

.hljs-regexp,
.hljs-link {
  color: #c6b4f0;
}

.hljs-meta {
  color: #fc9b9b;
}

.hljs-deletion {
  background-color: #fc9b9b;
  color: #333;
}

.hljs-addition {
  background-color: #a2fca2;
  color: #333;
}

.hljs a {
  color: inherit;
}

.hljs a:focus,
.hljs a:hover {
  color: inherit;
  text-decoration: underline;
}


================================================
FILE: assets/css/main.scss
================================================
---
sitemap: false
---

@import "moving";
@import url('https://fonts.googleapis.com/css?family=Bitter&display=swap');

================================================
FILE: index.md
================================================
---
layout: home
---

================================================
FILE: moving.gemspec
================================================
# frozen_string_literal: true

Gem::Specification.new do |spec|
  spec.name          = "moving"
  spec.version       = "0.3.3"
  spec.authors       = ["huangyz0918"]
  spec.email         = ["huangyz0918@gmail.com"]

  spec.summary       = "A clean and minimalist theme for Jekyll"
  spec.homepage      = "https://github.com/huangyz0918/moving"
  spec.license       = "MIT"

  spec.files = `git ls-files -z`.split("\x0").select do |f|
    f.match(%r{^(_(includes|layouts|sass)/|(LICENSE|README)((\.(txt|md|markdown)|$)))}i)
  end

  spec.add_runtime_dependency "jekyll", "~> 4.0.0"
  spec.add_runtime_dependency "jekyll-feed", "~> 0.9"
  spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.1"

  spec.add_development_dependency "bundler", "~> 2.3.26"
  spec.add_development_dependency "rake", "~> 12.0"
end
Download .txt
gitextract_u1s11lwh/

├── .github/
│   └── workflows/
│       └── deploy.yml
├── .gitignore
├── Gemfile
├── LICENSE.txt
├── README.md
├── _config.yml
├── _includes/
│   ├── footer.html
│   ├── google-analytics.html
│   ├── head.html
│   └── social.html
├── _layouts/
│   ├── about.html
│   ├── default.html
│   ├── home.html
│   └── post.html
├── _posts/
│   ├── 2016-01-06-welcome-to-jekyll.md
│   ├── 2016-02-06-post-content-styles.md
│   ├── 2016-03-19-super-short-article.md
│   ├── 2016-04-23-super-long-article.md
│   ├── 2016-05-01-code-highlight-tests.md
│   ├── 2019-06-23-language-tests.md
│   └── 2020-04-15-math-test.md
├── _sass/
│   ├── moving/
│   │   ├── _base.scss
│   │   └── _layout.scss
│   └── moving.scss
├── about.md
├── assets/
│   └── css/
│       ├── agate.css
│       └── main.scss
├── index.md
└── moving.gemspec
Condensed preview — 29 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (62K chars).
[
  {
    "path": ".github/workflows/deploy.yml",
    "chars": 2108,
    "preview": "# This workflow uses actions that are not certified by GitHub.\n# They are provided by a third-party and are governed by\n"
  },
  {
    "path": ".gitignore",
    "chars": 70,
    "preview": "*.gem\n.bundle\n.jekyll-cache\n.sass-cache\n_site\nGemfile.lock\n\n.DS_Store\n"
  },
  {
    "path": "Gemfile",
    "chars": 112,
    "preview": "# frozen_string_literal: true\n\nsource \"https://rubygems.org\"\ngemspec\ngem 'wdm', '>= 0.1.0' if Gem.win_platform?\n"
  },
  {
    "path": "LICENSE.txt",
    "chars": 1078,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2019 huangyz0918\n\nPermission is hereby granted, free of charge, to any person obtai"
  },
  {
    "path": "README.md",
    "chars": 4247,
    "preview": "# moving\n\n[![Gem Version](https://badge.fury.io/rb/moving.svg)](https://badge.fury.io/rb/moving) ![](https://img.shields"
  },
  {
    "path": "_config.yml",
    "chars": 1536,
    "preview": "title: Moving # The title of the blog\nauthor: Your Name # Your name\nemail: your-email@domain.com # your email shown in t"
  },
  {
    "path": "_includes/footer.html",
    "chars": 740,
    "preview": "<footer class=\"site-footer h-card\">\n    <data class=\"u-url\" href=\"{{ \"/\" | relative_url }}\"></data>\n    <div class=\"wrap"
  },
  {
    "path": "_includes/google-analytics.html",
    "chars": 497,
    "preview": "<script\n  async\n  src=\"https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}\"\n></script>\n<script>\n  wi"
  },
  {
    "path": "_includes/head.html",
    "chars": 727,
    "preview": "<head>\n  <meta charset=\"utf-8\" />\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n  <meta name=\"viewport\" cont"
  },
  {
    "path": "_includes/social.html",
    "chars": 3195,
    "preview": "{%- assign social = site.moving.social_links -%}\n\n<ul class=\"social-media-list\">\n  {%- if social.dribbble -%}\n  <li>\n   "
  },
  {
    "path": "_layouts/about.html",
    "chars": 838,
    "preview": "---\nlayout: default\n---\n\n<div class=\"about-page\">\n  <head>\n    <title>{{ site.author }}</title>\n  </head>\n  <div class=\""
  },
  {
    "path": "_layouts/default.html",
    "chars": 319,
    "preview": "<!DOCTYPE html>\n<html lang=\"{{ page.lang | default: site.lang | default: \"en\" }}\">\n        {%- include head.html -%}\n   "
  },
  {
    "path": "_layouts/home.html",
    "chars": 1290,
    "preview": "---\nlayout: default\n---\n\n<div class=\"home\">\n  <head>\n      <title>{{ site.title }}</title>\n  </head>\n  <div class=\"home-"
  },
  {
    "path": "_layouts/post.html",
    "chars": 1321,
    "preview": "---\nlayout: default\n---\n\n<article\n  class=\"post h-entry\"\n  itemscope\n  itemtype=\"http://schema.org/BlogPosting\"\n>\n  <hea"
  },
  {
    "path": "_posts/2016-01-06-welcome-to-jekyll.md",
    "chars": 1112,
    "preview": "---\nlayout: post\n---\nYou’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see"
  },
  {
    "path": "_posts/2016-02-06-post-content-styles.md",
    "chars": 5209,
    "preview": "---\nlayout: post\ntitle: \"Post Content Styles\"\ncategories: junk\nauthor: \"Yizheng Huang\"\nmeta: \"Springfield\"\n---\n\n# Great "
  },
  {
    "path": "_posts/2016-03-19-super-short-article.md",
    "chars": 508,
    "preview": "---\nlayout: post\ntitle: \"Short Article\"\ncategories: misc\n---\n\nLorem ipsum dolor sit amet, consectetur adipisicing elit, "
  },
  {
    "path": "_posts/2016-04-23-super-long-article.md",
    "chars": 4367,
    "preview": "---\nlayout: post\ntitle: \"Long Article\"\ncategories: misc\n---\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Fu"
  },
  {
    "path": "_posts/2016-05-01-code-highlight-tests.md",
    "chars": 9800,
    "preview": "---\nlayout: post\ntitle: \"Code Highlight Tests\"\ncategories: misc\n---\n\n## Test for C\n```c\n#define UNICODE\n#include <window"
  },
  {
    "path": "_posts/2019-06-23-language-tests.md",
    "chars": 1870,
    "preview": "---\nlayout: post\ntitle: \"Language Tests\"\ncategories: misc\n---\n\n### 1. 日本語テスト\n\nThis is a Japanese test post to show you h"
  },
  {
    "path": "_posts/2020-04-15-math-test.md",
    "chars": 783,
    "preview": "---\nlayout: post\ntitle: \"Math Tests\"\ncategories: misc\n---\n\n$$\nR_{\\mu \\nu} - {1 \\over 2}g_{\\mu \\nu}\\,R + g_{\\mu \\nu} \\Lam"
  },
  {
    "path": "_sass/moving/_base.scss",
    "chars": 4536,
    "preview": "/**\n * Reset some basic elements\n */\nbody,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\nhr,\ndl,\ndd,\nol,\nul,\nfigure {\n  ma"
  },
  {
    "path": "_sass/moving/_layout.scss",
    "chars": 5613,
    "preview": "/**\n * Site header\n */\n.site-header {\n  border-top: 5px solid $grey-color-dark;\n  border-bottom: 1px solid $grey-color-l"
  },
  {
    "path": "_sass/moving.scss",
    "chars": 1089,
    "preview": "@charset \"utf-8\";\n\n// Define defaults for each variable.\n\n$base-font-family: \"Bitter\", 'Hiragino Sans GB', 'Microsoft Ya"
  },
  {
    "path": "about.md",
    "chars": 280,
    "preview": "---\nlayout: about\n---\n\nThese are controlled by `about.md` under the root directory. If you want a more diverse self-intr"
  },
  {
    "path": "assets/css/agate.css",
    "chars": 1276,
    "preview": "/*!\n * Agate by Taufik Nurrohman <https://github.com/tovic>\n * ----------------------------------------------------\n *\n "
  },
  {
    "path": "assets/css/main.scss",
    "chars": 117,
    "preview": "---\nsitemap: false\n---\n\n@import \"moving\";\n@import url('https://fonts.googleapis.com/css?family=Bitter&display=swap');"
  },
  {
    "path": "index.md",
    "chars": 20,
    "preview": "---\nlayout: home\n---"
  },
  {
    "path": "moving.gemspec",
    "chars": 806,
    "preview": "# frozen_string_literal: true\n\nGem::Specification.new do |spec|\n  spec.name          = \"moving\"\n  spec.version       = \""
  }
]

About this extraction

This page contains the full source code of the huangyz0918/moving GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 29 files (54.2 KB), approximately 17.0k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!