├── .gitignore
├── LICENSE
├── README.md
├── docs
├── .vuepress
│ ├── components
│ │ ├── Homepage.vue
│ │ ├── MContent.vue
│ │ ├── MarkdownCard.vue
│ │ ├── Projects.vue
│ │ └── styles
│ │ │ └── config.styl
│ ├── config.js
│ ├── override.styl
│ ├── public
│ │ ├── icons
│ │ │ ├── email.svg
│ │ │ ├── facebook.svg
│ │ │ ├── github.svg
│ │ │ ├── instagram.svg
│ │ │ ├── linkedin.svg
│ │ │ ├── twitter.svg
│ │ │ └── youtube.svg
│ │ ├── kraken.jpg
│ │ ├── profile.jpg
│ │ └── projects
│ │ │ └── 1.png
│ └── style.styl
├── README.md
├── article
│ └── README.md
├── guide
│ ├── README.md
│ ├── advanced.md
│ ├── customize.md
│ └── getting-started.md
└── projects
│ ├── README.md
│ └── old.md
├── images
├── 01.jpg
└── 02.jpg
└── package.json
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | *.log
4 | .temp
5 | vuepress
6 | TODOs.md
7 | dist
8 | deploy
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Fing
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Vue Nice HomePage
2 |
3 | ### DEMO is [here](https://nordicgiant2.github.io/vue-nice-homepage-page/)
4 |
5 | 
6 |
7 | ## About [`particles-bg-vue`](https://github.com/lindelof/particles-bg-vue) library
8 | #### This project uses the react particle background component library [https://github.com/lindelof/particles-bg-vue](https://github.com/lindelof/particles-bg-vue). It's very simple. Anyone can be a Musketeer with it.
9 |
10 | 
11 |
12 | ## Description
13 | This project forks from [https://github.com/mtobeiyf/vuepress-homepage](https://github.com/mtobeiyf/vuepress-homepage), I made some modifications and adjustments, thanks to the [author](https://github.com/mtobeiyf).
14 |
15 |
20 |
21 | Check the full documentation here :point_right: [Guide](https://vuepress-homepage.netlify.com/guide/)
22 |
23 | Make sure you have [Node.js](https://nodejs.org) and [yarn](https://yarnpkg.com) installed.
24 |
25 | ```bash
26 | # Clone the repo
27 | $ git clone https://github.com/mtobeiyf/vuepress-homepage.git
28 | $ cd vuepress-homepage
29 |
30 | # Install dependencies
31 | $ yarn # or npm install
32 |
33 | # Run
34 | $ yarn dev # or npm run dev
35 | ```
36 |
37 | Check your site at `http://127.0.0.1:8080/`
38 |
39 | ## Features
40 |
41 | - Markdown and emoji supported :smiley:
42 | - Elegant and minimalistic
43 | - Customizable and mobile-friendly
44 | - Multi-language support
45 | - Powered by [VuePress](https://vuepress.vuejs.org/) and [Vue.js](https://vuejs.org/)
46 |
47 | It's **static**, which means once generated, your site could be deployed anywhere, like [Netlify](https://www.netlify.com/) or [GitHub Pages]()
48 |
49 | ## License
50 |
51 | Released under the [MIT License](https://opensource.org/licenses/MIT).
--------------------------------------------------------------------------------
/docs/.vuepress/components/Homepage.vue:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
33 |
34 |
--------------------------------------------------------------------------------
/docs/.vuepress/components/styles/config.styl:
--------------------------------------------------------------------------------
1 | // layout
2 | $navbarHeight = 3.6rem
3 | $sidebarWidth = 20rem
4 | $contentWidth = 740px
5 |
6 | // responsive breakpoints
7 | $MQNarrow = 959px
8 | $MQMobile = 719px
9 | $MQMobileNarrow = 419px
10 |
11 | // my colors
12 | // $bgColor = #ecf0f1
13 | $homeBgColor = #e6ecf0
14 | $frontColor = #ffffff
15 | $btnBgColor = #1d3d26
16 | $btnHvColor = #34495e
17 | $footColor = #7f8c8d
18 | $projBgColor = #fafbfc
--------------------------------------------------------------------------------
/docs/.vuepress/config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | title: "Hello Kraken",
3 | description: "The description of the site.",
4 | head: [["link", { rel: "icon", href: `/logo.png` }]],
5 | dest: "./dist",
6 | base: "/vue-nice-homepage-page/",
7 | themeConfig: {
8 | nav: [
9 | { text: "Home", link: "/" },
10 | { text: "Projects", link: "/projects/" },
11 | { text: "Guide", link: "/guide/" },
12 | { text: "GitHub", link: "https://github.com/nordicgiant2/vue-nice-homepage" }
13 | ],
14 | sidebar: {
15 | '/guide/': genSidebarConfig('Guide')
16 | },
17 | lastUpdated: 'Last Updated'
18 | },
19 |
20 | markdown: {
21 | anchor: { permalink: false },
22 | config: md => {
23 | md.use(require("markdown-it-katex"));
24 | }
25 | }
26 | };
27 |
28 | function genSidebarConfig (title) {
29 | return [
30 | {
31 | title,
32 | collapsable: false,
33 | children: [
34 | '',
35 | 'getting-started',
36 | 'customize',
37 | 'advanced',
38 | ]
39 | }
40 | ]
41 | }
42 |
43 |
--------------------------------------------------------------------------------
/docs/.vuepress/override.styl:
--------------------------------------------------------------------------------
1 | // colors
2 | $accentColor = #1d3d26
3 | $borderColor = #eaecef
--------------------------------------------------------------------------------
/docs/.vuepress/public/icons/email.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
47 |
--------------------------------------------------------------------------------
/docs/.vuepress/public/icons/facebook.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
42 |
--------------------------------------------------------------------------------
/docs/.vuepress/public/icons/github.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
60 |
--------------------------------------------------------------------------------
/docs/.vuepress/public/icons/instagram.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
68 |
--------------------------------------------------------------------------------
/docs/.vuepress/public/icons/linkedin.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
45 |
--------------------------------------------------------------------------------
/docs/.vuepress/public/icons/twitter.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
44 |
--------------------------------------------------------------------------------
/docs/.vuepress/public/icons/youtube.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
40 |
--------------------------------------------------------------------------------
/docs/.vuepress/public/kraken.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nordicgiant2/vue-nice-homepage/3ce43056f67f114a72bf550b8358899c4c8e3829/docs/.vuepress/public/kraken.jpg
--------------------------------------------------------------------------------
/docs/.vuepress/public/profile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nordicgiant2/vue-nice-homepage/3ce43056f67f114a72bf550b8358899c4c8e3829/docs/.vuepress/public/profile.jpg
--------------------------------------------------------------------------------
/docs/.vuepress/public/projects/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nordicgiant2/vue-nice-homepage/3ce43056f67f114a72bf550b8358899c4c8e3829/docs/.vuepress/public/projects/1.png
--------------------------------------------------------------------------------
/docs/.vuepress/style.styl:
--------------------------------------------------------------------------------
1 | // disable the search box
2 | .search-box
3 | display none
4 |
5 | // disable outbound link icon
6 | .icon.outbound
7 | display none
--------------------------------------------------------------------------------
/docs/README.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: Homepage
3 | description: 'The biography and information about me.'
4 | avatar: /profile.jpg
5 | face: /kraken.jpg
6 | head: 'Hello Kraken'
7 | info: 'The kraken is a legendary'
8 | interests: 'The address of this project is here. If you are interested, please star. Thank you very much.'
9 | socials:
10 | - title: github
11 | link: https://github.com/nordicgiant2/vue-nice-homepage
12 | - title: linkedin
13 | link: https://www.linkedin.com
14 | - title: instagram
15 | link: https://www.instagram.com
16 | - title: email
17 | link: 'mailto:harry[at]gmail.com'
18 | actions:
19 | - text: Projects
20 | link: /projects/
21 | - text: Github
22 | link: https://github.com/nordicgiant2/vue-nice-homepage
23 | ---
24 |
25 | The kraken is a legendary cephalopod-like sea monster of giant size in Scandinavian folklore. According to the Norse sagas, the kraken dwells off the coasts of Norway and Greenland and terrorizes nearby sailors. Authors over the years have postulated that the legend may have originated from sightings of giant squids that may grow to 13–15 meters in length. :dizzy:
26 |
--------------------------------------------------------------------------------
/docs/article/README.md:
--------------------------------------------------------------------------------
1 | # Markdown Demo
2 |
3 |
4 |
5 |
6 |
7 | ## Inline Math
8 |
9 | $J \left( \theta_0, \theta_1 \right) = \frac{1}{2m}\sum\limits_{i=1}^m \left( h_{\theta}(x^{(i)})-y^{(i)} \right)^{2}$
10 |
11 | + Create a list by starting a line with `+`, `-`, or `*`
12 | + Sub-lists are made by indenting 2 spaces:
13 | - Marker character change forces new list start:
14 | * Ac tristique libero volutpat at
15 | + Facilisis in pretium nisl aliquet
16 | - Nulla volutpat aliquam velit
17 | + Very easy!
18 |
19 | ``` js
20 | var foo = function (bar) {
21 | return bar++;
22 | };
23 |
24 | console.log(foo(5));
25 | ```
26 |
27 |
28 | # h1 Heading 8-)
29 | ## h2 Heading
30 | ### h3 Heading
31 | #### h4 Heading
32 | ##### h5 Heading
33 | ###### h6 Heading
34 |
35 |
36 | ## Horizontal Rules
37 |
38 | ___
39 |
40 | ---
41 |
42 | ***
43 |
44 |
45 | ## Typographic replacements
46 |
47 | Enable typographer option to see result.
48 |
49 | (c) (C) (r) (R) (tm) (TM) (p) (P) +-
50 |
51 | test.. test... test..... test?..... test!....
52 |
53 | !!!!!! ???? ,, -- ---
54 |
55 | "Smartypants, double quotes" and 'single quotes'
56 |
57 |
58 | ## Emphasis
59 |
60 | **This is bold text**
61 |
62 | __This is bold text__
63 |
64 | *This is italic text*
65 |
66 | _This is italic text_
67 |
68 | ~~Strikethrough~~
69 |
70 |
71 | ## Blockquotes
72 |
73 |
74 | > Blockquotes can also be nested...
75 | >> ...by using additional greater-than signs right next to each other...
76 | > > > ...or with spaces between arrows.
77 |
78 |
79 | ## Lists
80 |
81 | Unordered
82 |
83 | + Create a list by starting a line with `+`, `-`, or `*`
84 | + Sub-lists are made by indenting 2 spaces:
85 | - Marker character change forces new list start:
86 | * Ac tristique libero volutpat at
87 | + Facilisis in pretium nisl aliquet
88 | - Nulla volutpat aliquam velit
89 | + Very easy!
90 |
91 | Ordered
92 |
93 | 1. Lorem ipsum dolor sit amet
94 | 2. Consectetur adipiscing elit
95 | 3. Integer molestie lorem at massa
96 |
97 |
98 | 1. You can use sequential numbers...
99 | 1. ...or keep all the numbers as `1.`
100 |
101 | Start numbering with offset:
102 |
103 | 57. foo
104 | 1. bar
105 |
106 |
107 | ## Code
108 |
109 | Inline `code`
110 |
111 | Indented code
112 |
113 | // Some comments
114 | line 1 of code
115 | line 2 of code
116 | line 3 of code
117 |
118 |
119 | Block code "fences"
120 |
121 | ```
122 | Sample text here...
123 | ```
124 |
125 | Syntax highlighting
126 |
127 | ``` js
128 | var foo = function (bar) {
129 | return bar++;
130 | };
131 |
132 | console.log(foo(5));
133 | ```
134 |
135 | ## Tables
136 |
137 | | Option | Description |
138 | | ------ | ----------- |
139 | | data | path to data files to supply the data that will be passed into templates. |
140 | | engine | engine to be used for processing templates. Handlebars is the default. |
141 | | ext | extension to be used for dest files. |
142 |
143 | Right aligned columns
144 |
145 | | Option | Description |
146 | | ------:| -----------:|
147 | | data | path to data files to supply the data that will be passed into templates. |
148 | | engine | engine to be used for processing templates. Handlebars is the default. |
149 | | ext | extension to be used for dest files. |
150 |
151 |
152 | ## Links
153 |
154 | [link text](http://dev.nodeca.com)
155 |
156 | [link with title](http://nodeca.github.io/pica/demo/ "title text!")
157 |
158 | Autoconverted link https://github.com/nodeca/pica (enable linkify to see)
159 |
160 |
161 | ## Images
162 |
163 | 
164 | 
165 |
166 | Like links, Images also have a footnote style syntax
167 |
168 | ![Alt text][id]
169 |
170 | With a reference later in the document defining the URL location:
171 |
172 | [id]: https://octodex.github.com/images/dojocat.jpg "The Dojocat"
173 |
--------------------------------------------------------------------------------
/docs/guide/README.md:
--------------------------------------------------------------------------------
1 | # Introduction
2 |
3 | This is a skeleton built for generating static site for yourself, especially helpful and friendly to students, teachers, developers, researchers and so on.
4 |
5 | It's suitable for building your personal homepage with:
6 | - About me :raising_hand:
7 | - Projects, publications, portfolio :books:
8 | - Biography, timeline, resume(CV) :page_with_curl:
9 |
10 | ## Features
11 | - Markdown and emoji supported :smiley:
12 | - Elegant and minimalistic
13 | - Customizable and mobile-friendly
14 | - Multi-language support
15 | - Powered by [VuePress](https://vuepress.vuejs.org/) and [Vue.js](https://vuejs.org/)
16 |
17 | Now, let's try it :point_right:
--------------------------------------------------------------------------------
/docs/guide/advanced.md:
--------------------------------------------------------------------------------
1 | # Advanced
2 |
3 | If my template can't meet your requirement, you can further create your own template.
4 |
5 | ## Vue and VuePress
6 |
7 | Before you start building your own template, you should gather some knowledge.
8 |
9 | - [Vue.js](https://vuejs.org/)
10 | - [VuePress](https://vuepress.vuejs.org/)
11 |
12 | Actually, you don't have to learn the whole Vue.js. Html and CSS are more essential.
13 |
14 | By looking at the `.vue` files I provided, you should understand how the `.vue` file works.
15 |
16 | Read [VuePress Guide](https://vuepress.vuejs.org/guide/) and understand how VuePress is capable of.
17 |
18 | ## Components
19 |
20 | The components, which are the templates used in this site, are separate `.vue` files under `.vuepress/components` directory.
21 |
22 | For example, the `MarkdownCard.vue` is a widget used in the projects page. The `Homepage.vue` is a layout that could be further customized.
23 |
24 | For more information, check VuePress doc on [Custom Layout for Specific Pages](https://vuepress.vuejs.org/default-theme-config/#custom-layout-for-specific-pages).
25 |
26 |
27 | ## Override Styles
28 |
29 | You can override styles with `.vuepress/override.styl`. Adding simple CSS rules to control how the elements appear on your site.
30 |
31 | Check [Simple CSS Override](https://vuepress.vuejs.org/default-theme-config/#simple-css-override) for more help.
32 |
33 | ## Beyond
34 |
35 | You need to know more about Vue and Javascript. :smile:
36 |
37 | Learn and create! :muscle:
38 |
--------------------------------------------------------------------------------
/docs/guide/customize.md:
--------------------------------------------------------------------------------
1 | # Customize
2 |
3 | We'll take this repo as an example to show you how to make this site as you like.
4 |
5 | Don't forget to refer to official [VuePress Guide](https://vuepress.vuejs.org/guide/) to find out more.
6 |
7 | ## Structure
8 |
9 | Now, we care about the **docs** directory which includes:
10 |
11 | ```
12 | docs
13 | ├── guide
14 | ├── projects
15 | ├── README.md
16 | └── .vuepress
17 | ├── components
18 | │ ├── Homepage.vue
19 | │ ├── MContent.vue
20 | │ ├── Projects.vue
21 | │ └── styles
22 | │ └── config.styl
23 | ├── config.js
24 | ├── override.styl
25 | └── public
26 | ├── icons
27 | ├── profile.jpg
28 | └── projects
29 | ```
30 |
31 | ### The documents
32 |
33 | The entry page is `README.md`, followed by sub-pages under the directories `guide` and `projects`.
34 |
35 | You can modify, delete and create your own directory and `README.md` files according to your needs.
36 |
37 | You should have basic idea of [Markdown](https://guides.github.com/features/mastering-markdown/) and YAML Front Matter.
38 |
39 | ### config.js
40 |
41 | The config files of this site are all placed under `.vuepress` directory. The only two you need to concern is `config.js` and `public` folder.
42 |
43 | ### public
44 |
45 | You need to place your images under `docs/.vuepress/public` directory, so that you can access them using `/profile.jpg` in the yaml section of the `README.md` file.
46 |
47 | ## Modification
48 |
49 | ### Title
50 |
51 | The title of the site and the navbar is in the `docs/.vuepress/config.js`
52 |
53 | ### Navbar links
54 |
55 | Still in the `config.js`, under the `themeConfig` key.
56 |
57 | ### Homepage
58 |
59 | If you don't like the homepage, simply modify the `docs/README.md` file to switch to another layout or just Markdown page.
60 |
61 | ### Sidebar
62 |
63 | There are two different types of sidebars: routing between multiple Markdown files and TOC of a single page.
64 |
65 | This **Guide** contains separate files under `docs/guide`. To enable sidebar, you have to manually set this in the `config.js`.
66 |
67 | ## Pages
68 |
69 | ### Homepage
70 |
71 | As you can see in the `docs/README.md`, most of the contents are written in the YAML front matter. Just modify the corresponding section and you should get yours.
72 |
73 | ### Projects
74 |
75 | Actually, it's a pure Markdown file. You can use the inline widget `` to show your project, publication or portfolio. Check the example at `docs/projects/README.md`.
76 |
77 | You can even add some more sections with Markdown to make this page a resume for you.
78 |
79 | ### Customize Page
80 |
81 | Adding a page is simple, create `docs/Foo/README.md` and you can access it with link `/Foo/` in the context.
82 |
83 | To automatically generate the sidebar of the current page, add `sidebar: auto` in the front matter section.
84 |
85 | You can even tune the styles with `