Skip to content

Commit

Permalink
jekyll build from Action 1660e91
Browse files Browse the repository at this point in the history
  • Loading branch information
jxmen committed Aug 29, 2024
0 parents commit 1e8a4c9
Show file tree
Hide file tree
Showing 214 changed files with 21,285 additions and 0 deletions.
Empty file added .nojekyll
Empty file.
240 changes: 240 additions & 0 deletions 404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,240 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- 참고: https://jekyllrb.com/docs/liquid/filters/ -->
<title>박주영의 위키</title>

<meta name="description" content="">
<meta name="google-site-verification" content="xD2UvBTOH6xxBi9MseahHz4Nt9u2vYZbgY2wVo7Bdyc">

<link rel="stylesheet" href="/css/main.css">
<link rel="canonical" href="https://jxmen.dev/404.html">
<link rel="alternate" type="application/rss+xml" title="박주영의 위키" href="https://jxmen.dev/feed.xml">

<meta property="og:type" content="website">
<meta property="og:title" content="">
<meta property="og:description" content="">
<!---
<meta property="og:image" content="https://jxmen.dev/resource/johngrib.png">
-->
<meta property="og:url" content="https://jxmen.dev/404.html">

<!---
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@" />
<meta name="twitter:url" content="https://jxmen.dev/404.html" />
<meta name="twitter:title" content="" />
<meta name="twitter:description" content="" />
--->

<!---
<link rel="apple-touch-icon" sizes="57x57" href="/resource/icon/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/resource/icon/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/resource/icon/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/resource/icon/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/resource/icon/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/resource/icon/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/resource/icon/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/resource/icon/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/resource/icon/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/resource/icon/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/resource/icon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/resource/icon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/resource/icon/favicon-16x16.png">
<link rel="manifest" href="/resource/icon/manifest.json">
--->
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/resource/icon/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">




</head>
<body>
<header class="header">
<div>
<a class="site-title" href="/">박주영의 위키</a>
</div>
<div>
<a class="site-title-right" href="/about/">me</a>
</div>
<div>
<a id="random-button" class="site-title-right">random</a>
</div>
<div>
<!---<a class="site-title-right" href="/wiki/root-index/">index</a> --->
<a class="site-title-right" href="/wiki/index/">index</a>
</div>
</header>
<script async src="/js/shortcut.js"></script>


<div class="page-content">
<div class="search">
<form role="search" method="get" action="/search/">
<input name="searchString" class="searchInput" placeholder=" 검색하세요" type="text">
<input type="submit" class="searchButton" value="Search">
</form>
</div>
<div class="post">
<style type="text/css" media="screen">
.container {
margin: 10px auto;
max-width: 600px;
text-align: center;
}
h1 {
margin: 30px 0;
font-size: 4em;
line-height: 1;
letter-spacing: -1px;
}
</style>

<div class="container">
<h1>404</h1>

<p><strong>Page not found :(</strong></p>
<p>The requested page could not be found.</p>
</div>
<script>
const url = window.location.pathname
.replace(/[/]*$/, '/');

console.log(window.location.pathname, "->", url);

const fallbackRouter = {
'/wiki/spring-documents-overview/': '/wiki/spring/document/overview/',
'/wiki/template-method-pattern/': '/wiki/pattern/template-method/',
'/wiki/design-pattern/template-method-pattern/': '/wiki/pattern/template-method/',

'/wiki/design-pattern/': '/wiki/pattern/',
'/wiki/abstract-factory-pattern/' : '/wiki/pattern/abstract-factory/',
'/wiki/design-pattern/abstract-factory-pattern/': '/wiki/pattern/abstract-factory/',

'/wiki/adapter-pattern/' : '/wiki/pattern/adapter/',
'/wiki/design-pattern/adapter-pattern/': '/wiki/pattern/adapter/',

'/wiki/builder-pattern/' : '/wiki/pattern/builder/',
'/wiki/design-pattern/builder-pattern/' : '/wiki/pattern/builder/',

'/wiki/strategy-pattern/' : '/wiki/pattern/strategy/',
'/wiki/design-pattern/strategy-pattern/' : '/wiki/pattern/strategy/',

'/wiki/strangler-pattern/': '/wiki/pattern/strangler/',
'/wiki/command-pattern/': '/wiki/pattern/command/',
'/wiki/controller-pattern/': '/wiki/pattern/controller/',
'/wiki/design-pattern-quotes/': '/wiki/pattern/quotes/',
'/wiki/decorator-pattern/': '/wiki/pattern/decorator/',
'/wiki/factory-method-pattern/': '/wiki/pattern/factory-method/',
'/wiki/null-object-pattern/': '/wiki/pattern/null-object/',
'/wiki/observer-pattern/': '/wiki/pattern/observer/',
'/wiki/static-factory-method-pattern/': '/wiki/pattern/static-factory-method/',

'/wiki/programming-language/': '/wiki/language/',
'/wiki/java-exception-handling/': '/wiki/java/exception-handling/',
'/wiki/Object-equals/': '/wiki/java/object-equals/',
'/wiki/gerald-weinberg-language-king/': '/wiki/people/gerald-weinberg/',
'/wiki/java-stream/': '/wiki/java/stream/',
'/wiki/ronald-wayne/': '/wiki/people/ronald-wayne/',
'/wiki/man-cmd/': '/wiki/cmd/man/',
'/wiki/two-eggs-100-floor/': '/wiki/problem/two-eggs-100-floor/',
'/wiki/ag/': '/wiki/cmd/ag/',
'/wiki/curl/': '/wiki/cmd/curl/',
'/wiki/proverb/': '/wiki/jargon/',
'/wiki/vim-auto-completion/': '/wiki/vim/auto-completion/',
'/wiki/mv-cmd/': '/wiki/cmd/mv/',
'/wiki/git-index/': '/wiki/git/index/',
'/wiki/sed/': '/wiki/cmd/sed/',
'/wiki/git-chagne-hundreds-commit-messages/': '/wiki/git/examples/',
'/wiki/git-checkout-specific-files/': '/wiki/git/examples/',
'/wiki/java-javadoc/': '/wiki/java/javadoc/',
'/wiki/java-util-arraylist/': '/wiki/java/arraylist/',
'/wiki/fc/': '/wiki/cmd/fc/',
'/wiki/openssl/': '/wiki/cmd/openssl/',
'/wiki/TOML/': '/wiki/language/toml/',
'/wiki/clojure/study/PersistentList/': '/wiki/clojure/study/persistent-list/',
'/wiki/tr-cmd/': '/wiki/cmd/tr/',
'/wiki/find-cmd/': '/wiki/cmd/find/',
'/wiki/java8/': '/wiki/java/8/',
'/wiki/clojure/study/persistent-map/': '/wiki/clojure/study/map/',
'/wiki/cal-cmd/': '/wiki/cmd/cal/',
'/wiki/ditto-cmd/': '/wiki/cmd/ditto/',
'/wiki/links-2019/': '/wiki/links/2019/',
'/wiki/links-2018/': '/wiki/links/2018/',
'/wiki/ultisnips/': '/wiki/vim/ultisnips/',
'/wiki/clojure/threading-macros/': '/wiki/clojure/guide/threading-macros/',
'/wiki/date-cmd/': '/wiki/cmd/date/',
'/wiki/tree-cmd/': '/wiki/cmd/tree/',
'/wiki/vim-persistent-undo/': '/wiki/vim/persistent-undo/',
'/wiki/git-log/': '/wiki/git/log/',
'/wiki/vim-coc/': '/wiki/vim/coc-nvim/',
'/wiki/less-cmd/': '/wiki/cmd/less/',
'/wiki/Python3/': '/wiki/python/',
'/wiki/Object-hashCode/': '/wiki/java/object-hashcode/',
'/wiki/Golang/': '/wiki/go/',
'/wiki/study-note/': '/wiki/study/note/',
'/wiki/study-data-intensive-application/': '/wiki/study/ddia/',
'/wiki/book-lyubishev/': '/wiki/book/lyubishev/',
'/wiki/The-Jargon-File/': '/wiki/book/the-jargon-file/',
'/wiki/vim-configure-split/': '/wiki/vim/configure-split/',
'/wiki/vim-rest-console/': '/wiki/vim/rest-console/',
'/wiki/vim-with-space-char/': '/wiki/vim/set-empty-chars/',
'/wiki/bat-cmd/': '/wiki/cmd/bat/',
'/wiki/airplain-rule/': '/wiki/jargon/airplane-rule/',
'/wiki/java-enum/': '/wiki/java/enum/',
'/wiki/Object-toString/': '/wiki/java/object-tostring/',
'/wiki/two-n-base-converting/': '/wiki/math/two-n-base-converting/',
'/wiki/scrum/': '/wiki/software-engineering/scrum/',
'/wiki/kanban/': '/wiki/software-engineering/kanban/',
'/wiki/bootstrapping/': '/wiki/jargon/bootstrapping/',
'/wiki/migrate-to-new-macbook/': '/wiki/mac/setting/',
'/wiki/yes-cmd/': '/wiki/cmd/yes/',
'/wiki/brew/': '/wiki/cmd/brew/',
'/wiki/vim-conceallevel/': '/wiki/vim/conceallevel/',
'/wiki/Bill-Atkinson-productivity/': '/wiki/people/bill-atkinson/',
'/wiki/file-cmd/': '/wiki/cmd/file/',
'/wiki/Postel-s-law/': '/wiki/jargon/postel-s-law/',
'/wiki/Edsel-edict/': '/wiki/jargon/edsel-edict/',
'/wiki/metcalfe-s-law/': '/wiki/jargon/metcalfe-s-law/',
'/wiki/SOLID/': '/wiki/jargon/solid/',
'/wiki/start-rust-with-vim/': '/wiki/rust/vim-setting/',
'/wiki/basename/': '/wiki/cmd/basename/',
'/wiki/java-enhancements/': '/wiki/java/enhancements/',
'/wiki/email-validation/': '/wiki/regex/email-validation/',
'/wiki/regex-prime/': '/wiki/regex/prime-number/',
'/wiki/egyptian-multiplication/': '/wiki/algorithm/egyptian-multiplication/',
'/wiki/article/vim-night/2022-03-31-insert-mode/': '/wiki/article/vim-night/20220331-insert-mode/',
'/wiki/article/vim-night/2022-03-27-ultisnips/': '/wiki/article/vim-night/20220327-ultisnips/',
'/wiki/java_home/': '/wiki/cmd/java_home/',
'/wiki/gc-death-spiral/': '/wiki/java/gc/death-spiral/',
'/wiki/hofstadter-s-law/': '/wiki/jargon/hofstadter-s-law/',
'/wiki/dc-cmd/': '/wiki/cmd/dc/',
'/wiki/java-optional/': '/wiki/java/optional/',
'/wiki/java8-performance-improvement-for-hashmap/': '/wiki/java/hashmap/',
'/wiki/strfile-cmd/': '/wiki/cmd/strfile/',
'/wiki/ACID/': '/wiki/database/acid/',
'/wiki/jargon/acid/': '/wiki/database/acid/',
};

if (fallbackRouter[url]) {
window.location.href = fallbackRouter[url].concat(window.location.hash);
}
</script>

</div>
</div>
<footer class="footer">
<div>

</div>

</footer>

</body>
</html>
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
jxmen.dev
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2017 이종립

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.
122 changes: 122 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
# wiki

이 위키는 종립(johngrib)님의 [Vimwiki + Jekyll + Github.io로 나만의 위키를 만들자](https://johngrib.github.io/wiki/my-wiki/)를 통해 만들어졌습니다.

## 시작하기

블로그 스켈레톤을 fork 하세요.

https://github.com/johngrib/johngrib-jekyll-skeleton

제 블로그를 fork하는 것보다 블로그 스켈레톤을 fork하는 것을 권합니다.
블로그를 그냥 fork 하면 제 자기소개와 일기, 에세이까지 당신의 블로그의 컨텐츠가 됩니다.

* 만약 그냥 fork 하신다면 제 자기소개와 일기를 포함한 _wiki의 모든 md 파일을 삭제하고 사용하세요.
* skeleton에 있는 문서들은 튜토리얼로 생각하고 읽어주시면 됩니다.

다음 글을 읽으며 블로그의 구조를 파악하시면 운영에 도움이 될 것입니다.

https://johngrib.github.io/wiki/my-wiki/

## 설치하기

루비가 설치되어 있지 않을 경우 루비를 설치해 주세요. 여기에서는 `rvm`으로
설치하는 방법을 소개해 드립니다. 다른 방법으로도 루비를 설치할 수 있으니, 다른
방법으로 하셔도 됩니다.

루비 버전은 [GitHub Pages Dependency versions](https://pages.github.com/versions/)을 보면 GitHub Pages에서는 `2.7.4`버전을
사용하고 있으니 해당 버전을 설치해 줍니다.

```bash
# See also https://rvm.io/rvm/install
$ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
$ curl -sSL https://get.rvm.io | bash
$ rvm install 2.7.4
$ rvm use 2.7.4
```

그다음 `bundle install`을 실행하여 의존성들을 설치합니다.

```bash
$ bundle install
```

### Git hooks 추가하기

새로운 글을 등록하면 메타 데이터를 업데이트해 주어야 합니다. 커밋하기 전에 이를
자동으로 될 수 있도록 Git Hooks를 추가해야 합니다.

```bash
$ cp tool/pre-commit ./.git/hooks
```

### 노드 모듈 설치하기

메타 데이터 생성을 위해서 `generateData.js`를 실행해야 합니다. 이를 실행하기
위해서 `yamljs` 의존성을 설치해야 합니다.

```bash
$ npm install
```

## 실행하기

```bash
$ jekyll serve
```

## 글 작성하기

### 새로운 카테고리 만들기

카테고리가 있는 글을 작성하고 싶을 때는 카테고리를 먼저 만들어야 합니다.
`/_wiki/category-name.md`같이 파일을 만들고 내용에는 다음을 추가해야 합니다.

이때 `layout`속성은 `category`가 되어야 합니다.

```markdown
---
layout : category
title : 제목을 입력합니다.
summary :
date : 2022-10-06 00:00:00 +0900
updated : 2022-10-06 00:00:00 +0900
tag :
toc : true
public : true
parent : index
latex : false
---

* TOC
{:toc}
```

### 위키에 글 등록하기

위키를 작성할 때는 `/_wiki` 폴더 아래에 마크다운으로 파일을 작성합니다. 만약
카테고리 아래에 글을 작성하고 싶을 경우에는 카테고리 이름으로 폴더를 만들고
파일을 추가합니다. 예를 들어 `/_wiki/category-name/document.md`로 만들 수 있습니다.
`layout``wiki`가 되어야 합니다. `parent`는 상위 카테고리 이름을 작성해야
합니다.

만약 상위 카테고리가 없을 경우에는 `parent``index`를 입력합니다.

```markdown
---
layout : wiki
title : 제목을 적습니다
date : 2022-10-08 11:23:00 +0900
updated : 2022-10-08 11:23:00 +0900
tag :
toc : true
public : true
parent : category-name
latex : false
---

* TOC
{:toc}

내용을 적습니다.
```
Loading

0 comments on commit 1e8a4c9

Please sign in to comment.