Inception commit
This commit is contained in:
commit
3991c627b6
0
.gitignore
vendored
Normal file
0
.gitignore
vendored
Normal file
20
.personalize.toml
Normal file
20
.personalize.toml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
Name = ""
|
||||||
|
|
||||||
|
# Supports markdown
|
||||||
|
About = ""
|
||||||
|
|
||||||
|
# Add only the handle
|
||||||
|
Github = ""
|
||||||
|
Twitter = ""
|
||||||
|
|
||||||
|
# Add the absolute links
|
||||||
|
Goodreads = ""
|
||||||
|
Linkedin = ""
|
||||||
|
|
||||||
|
Email = ""
|
||||||
|
|
||||||
|
# Add the filename with file extension.
|
||||||
|
Resume = ""
|
||||||
|
|
||||||
|
# Sets the number of posts to display on the front page
|
||||||
|
PostLimit = 4
|
20
LICENSE.md
Normal file
20
LICENSE.md
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2020 YOUR_NAME_HERE
|
||||||
|
|
||||||
|
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.
|
83
README.md
Normal file
83
README.md
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# Lekh
|
||||||
|
Simple, text-focussed and minimal personal portfolio theme based on https://github.com/vegarsti/vegarsti.github.io
|
||||||
|
|
||||||
|
## Screenshot
|
||||||
|
![Screenshot](./images/screenshot.png)
|
||||||
|
|
||||||
|
## Features
|
||||||
|
* Social media links
|
||||||
|
* Markdown supported
|
||||||
|
* Easy to personalize
|
||||||
|
- TODO
|
||||||
|
- Dark mode
|
||||||
|
- RSS feeds
|
||||||
|
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
cd into your hugo site's root directory and:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cd themes
|
||||||
|
git clone https://github.com/invinciblycool/lekh.git
|
||||||
|
```
|
||||||
|
|
||||||
|
For more information read the [official setup guide](https://gohugo.io/overview/installing/) of Hugo.
|
||||||
|
|
||||||
|
|
||||||
|
## Personalization
|
||||||
|
|
||||||
|
To personalize the theme
|
||||||
|
|
||||||
|
`cp themes/lekh/.personalize.toml data/personalize.toml`
|
||||||
|
|
||||||
|
And then customize accordingly.
|
||||||
|
|
||||||
|
Or simply copy the below into a new file called `data/personalize.toml` and customize accordingly.
|
||||||
|
|
||||||
|
```toml
|
||||||
|
|
||||||
|
Name = ""
|
||||||
|
|
||||||
|
# Supports markdown
|
||||||
|
About = ""
|
||||||
|
|
||||||
|
# Add only the handle
|
||||||
|
Github = ""
|
||||||
|
Twitter = ""
|
||||||
|
|
||||||
|
# Add the absolute links
|
||||||
|
Goodreads = ""
|
||||||
|
Linkedin = ""
|
||||||
|
|
||||||
|
Email = ""
|
||||||
|
|
||||||
|
# Add the filename with file extension.
|
||||||
|
Resume = ""
|
||||||
|
|
||||||
|
# Sets the number of posts to display on the front page
|
||||||
|
PostLimit = 4
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Posts
|
||||||
|
|
||||||
|
Below is a typical post, which defaults to what Hugo expects.
|
||||||
|
|
||||||
|
Specify `draft: true` to avoid publishing the post.
|
||||||
|
|
||||||
|
```md
|
||||||
|
---
|
||||||
|
title: "Rant post"
|
||||||
|
date: "2020-04-02"
|
||||||
|
draft: true
|
||||||
|
---
|
||||||
|
|
||||||
|
Too much to rant :(
|
||||||
|
```
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
|
* Thanks to [Vegard's](https://github.com/vegarsti) personal site from which the theme was heavily inspired.
|
||||||
|
|
||||||
|
Feel free to contribute and open issues.
|
2
archetypes/default.md
Normal file
2
archetypes/default.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
+++
|
||||||
|
+++
|
BIN
images/screenshot.png
Normal file
BIN
images/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 166 KiB |
BIN
images/tn.png
Normal file
BIN
images/tn.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 105 KiB |
10
layouts/404.html
Normal file
10
layouts/404.html
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
{{ partial "head.html" . }}
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<p> This page does not exist or as they say, it's a 404 error</p>
|
||||||
|
<p> If you can't find what you're looking for, it's better to sometimes look inside </p>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
23
layouts/_default/list.html
Normal file
23
layouts/_default/list.html
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
{{ partial "head.html" . }}
|
||||||
|
|
||||||
|
<body>
|
||||||
|
{{ partial "page_header.html" . }}
|
||||||
|
|
||||||
|
<h3>Posts</h3>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<!-- orders content according to the "publishdate" field in front matter -->
|
||||||
|
{{ range .Pages.ByPublishDate }}
|
||||||
|
<div>
|
||||||
|
<a href="{{ .Permalink }}">{{ .Title }}</a><br />
|
||||||
|
<time>{{ .Date.Format "January 2, 2006" }}</time>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
13
layouts/_default/single.html
Normal file
13
layouts/_default/single.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
{{ partial "head.html" . }}
|
||||||
|
|
||||||
|
<html>
|
||||||
|
{{ partial "page_header.html" . }}
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
<p class="post-meta"><time itemprop="datePublished">{{ .Date.Format "January 2, 2006" }}</time>
|
||||||
|
</p>
|
||||||
|
{{ .Content }}
|
||||||
|
|
||||||
|
{{ partial "footer.html" . }}
|
||||||
|
|
||||||
|
</html>
|
71
layouts/index.html
Normal file
71
layouts/index.html
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
{{ partial "head.html" . }}
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>{{ .Site.Data.personalize.Name }}</h1>
|
||||||
|
|
||||||
|
<h4>{{ .Site.Data.personalize.About| markdownify }}</h4>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
{{ if ne .Site.Data.personalize.Github "" }}
|
||||||
|
<td><i class="fab fa-github" aria-hidden="true"></i></td>
|
||||||
|
<td> <a href="https://github.com/{{ .Site.Data.personalize.Github }}" target="_blank">GitHub</a></td>
|
||||||
|
{{ end }}
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
{{ if ne .Site.Data.personalize.Twitter "" }}
|
||||||
|
<td><i class="fab fa-twitter" aria-hidden="true"></i></td>
|
||||||
|
<td> <a href="https://twitter.com/{{ .Site.Data.personalize.Twitter }}" target="_blank">Twitter</a>
|
||||||
|
</td>
|
||||||
|
{{ end }}
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
{{ if ne .Site.Data.personalize.Goodreads "" }}
|
||||||
|
<td><i class="fab fa-goodreads" aria-hidden="true"></i></td>
|
||||||
|
<td> <a href="{{ .Site.Data.personalize.Goodreads }}" target="_blank">Goodreads</a></td>
|
||||||
|
{{ end }}
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
{{ if ne .Site.Data.personalize.Linkedin "" }}
|
||||||
|
<td><i class="fab fa-linkedin" aria-hidden="true"></i></td>
|
||||||
|
<td> <a href="{{ .Site.Data.personalize.Linkedin }}" target="_blank">LinkedIn</a></td>
|
||||||
|
{{ end }}
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
{{ if ne .Site.Data.personalize.Resume "" }}
|
||||||
|
<td><i class="fas fa-file-alt" aria-hidden="true"></i></td>
|
||||||
|
<td> <a href="assets/pdf/{{ .Site.Data.personalize.Resume }}" target="_blank">Resume</a></td>
|
||||||
|
{{ end }}
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
{{ if ne .Site.Data.personalize.Email "" }}
|
||||||
|
<td><i class="fas fa-envelope" aria-hidden="true"></i></td>
|
||||||
|
<td> <code>{{ .Site.Data.personalize.Email }}</code></td>
|
||||||
|
{{ end }}
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h3>Posts</h3>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<!-- orders content according to the "publishdate" field in front matter -->
|
||||||
|
{{ range first .Site.Data.personalize.PostLimit .Pages.ByPublishDate }}
|
||||||
|
<div>
|
||||||
|
<a href="{{ .Permalink }}">{{ .Title }}</a><br />
|
||||||
|
<time>{{ .Date.Format "January 2, 2006" }}</time>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
|
||||||
|
<h3><a href="posts/">View all posts</a></h3>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
5
layouts/partials/footer.html
Normal file
5
layouts/partials/footer.html
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<footer>
|
||||||
|
<div>
|
||||||
|
<h3><a href="{{ .Site.BaseURL }}posts">Back to all posts</a></h3>
|
||||||
|
</div>
|
||||||
|
</footer>
|
14
layouts/partials/head.html
Normal file
14
layouts/partials/head.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<!-- Stylesheets -->
|
||||||
|
<link rel="stylesheet" href="/css/syntax.css">
|
||||||
|
<link rel="stylesheet" href="/css/style.css">
|
||||||
|
<link rel="stylesheet" href="/css/fonts.css">
|
||||||
|
<!-- End stylesheets -->
|
||||||
|
<title>{{ .Site.Data.personalize.Name }}</title>
|
||||||
|
<link rel="icon" type="image/png" href="/assets/img/favicon.ico" />
|
||||||
|
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css"
|
||||||
|
integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay" crossorigin="anonymous">
|
||||||
|
</head>
|
13
layouts/partials/page_header.html
Normal file
13
layouts/partials/page_header.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<header class="site-header">
|
||||||
|
|
||||||
|
<div class="wrapper">
|
||||||
|
<a class="muted small" href="{{ .Site.BaseURL }}">{{ .Site.Data.personalize.Name }}</a>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
36
static/css/fonts.css
Normal file
36
static/css/fonts.css
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
---
|
||||||
|
---
|
||||||
|
|
||||||
|
/* Monospace */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Source Code Pro Light';
|
||||||
|
src: url('../assets/fonts/SourceCodePro-Light.otf');
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Regular */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Calendas Plus';
|
||||||
|
src: url('../assets/fonts/calendas_plus-webfont.eot');
|
||||||
|
src: url('../assets/fonts/calendas_plus-webfont.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('../assets/fonts/calendas_plus-webfont.woff2') format('woff2'),
|
||||||
|
url('../assets/fonts/calendas_plus-webfont.woff') format('woff'),
|
||||||
|
url('../assets/fonts/calendas_plus-webfont.ttf') format('truetype'),
|
||||||
|
url('../assets/fonts/calendas_plus-webfont.svg#calendas_plusregular') format('svg');
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Bold */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Calendas Plus';
|
||||||
|
src: url('../assets/fonts/calendas_plus_bold-webfont.eot');
|
||||||
|
src: url('../assets/fonts/calendas_plus_bold-webfont.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('../assets/fonts/calendas_plus_bold-webfont.woff2') format('woff2'),
|
||||||
|
url('../assets/fonts/calendas_plus_bold-webfont.woff') format('woff'),
|
||||||
|
url('../assets/fonts/calendas_plus_bold-webfont.ttf') format('truetype'),
|
||||||
|
url('../assets/fonts/calendas_plus_bold-webfont.svg#calendas_plusbold') format('svg');
|
||||||
|
font-weight: bold;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
39
static/css/style.css
Normal file
39
static/css/style.css
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
body {
|
||||||
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
|
||||||
|
line-height: 1.5em;
|
||||||
|
font-size: 1.1em;
|
||||||
|
color: #222;
|
||||||
|
max-width: 40rem;
|
||||||
|
padding: 2rem;
|
||||||
|
margin: auto;
|
||||||
|
background: #fafafa; }
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 100%; }
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #0074D9; }
|
||||||
|
|
||||||
|
h1, h2, strong {
|
||||||
|
color: #111; }
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 1.6em; }
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.2em; }
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1.1em; }
|
||||||
|
|
||||||
|
.muted {
|
||||||
|
color: #aaa;
|
||||||
|
text-decoration: none; }
|
||||||
|
|
||||||
|
.small {
|
||||||
|
font-size: .8em; }
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border: 0px;
|
||||||
|
border: 1px solid #eee;
|
||||||
|
}
|
69
static/css/syntax.scss
Normal file
69
static/css/syntax.scss
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
---
|
||||||
|
|
||||||
|
.highlight {
|
||||||
|
|
||||||
|
background: #fafafa;
|
||||||
|
|
||||||
|
.hll { background-color: #fafafa; }
|
||||||
|
|
||||||
|
.c { color: #998; } // Comment
|
||||||
|
.err { color: #a61717; background-color: #e3d2d2 } // Error
|
||||||
|
.k { font-weight: bold } // Keyword
|
||||||
|
.o { font-weight: bold } // Operator
|
||||||
|
.cm { color: #998; } // Comment.Multiline
|
||||||
|
.cp { color: #999; font-weight: bold } // Comment.Preproc
|
||||||
|
.c1 { color: #998; } // Comment.Single
|
||||||
|
.cs { color: #999; font-weight: bold; } // Comment.Special
|
||||||
|
.gd { color: #000; background-color: #fdd } // Generic.Deleted
|
||||||
|
.gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific
|
||||||
|
.ge { font-style: bold } // Generic.Emph
|
||||||
|
.gr { color: #a00 } // Generic.Error
|
||||||
|
.gh { color: #999 } // Generic.Heading
|
||||||
|
.gi { color: #000; background-color: #dfd } // Generic.Inserted
|
||||||
|
.gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific
|
||||||
|
.go { color: #888 } // Generic.Output
|
||||||
|
.gp { color: #555 } // Generic.Prompt
|
||||||
|
.gs { font-weight: bold } // Generic.Strong
|
||||||
|
.gu { color: #aaa } // Generic.Subheading
|
||||||
|
.gt { color: #a00 } // Generic.Traceback
|
||||||
|
.kc { font-weight: bold } // Keyword.Constant
|
||||||
|
.kd { font-weight: bold } // Keyword.Declaration
|
||||||
|
.kp { font-weight: bold } // Keyword.Pseudo
|
||||||
|
.kr { font-weight: bold } // Keyword.Reserved
|
||||||
|
.kt { color: #458; font-weight: bold } // Keyword.Type
|
||||||
|
.m { color: #099 } // Literal.Number
|
||||||
|
.s { color: #d14 } // Literal.String
|
||||||
|
.na { color: #008080 } // Name.Attribute
|
||||||
|
.nb { color: #0086B3 } // Name.Builtin
|
||||||
|
.nc { color: #458; font-weight: bold } // Name.Class
|
||||||
|
.no { color: #008080 } // Name.Constant
|
||||||
|
.ni { color: #800080 } // Name.Entity
|
||||||
|
.ne { color: #900; font-weight: bold } // Name.Exception
|
||||||
|
.nf { color: #900; font-weight: bold } // Name.Function
|
||||||
|
.nn { color: #555 } // Name.Namespace
|
||||||
|
.nt { color: #000080 } // Name.Tag
|
||||||
|
.nv { color: #008080 } // Name.Variable
|
||||||
|
.ow { font-weight: bold } // Operator.Word
|
||||||
|
.w { color: #bbb } // Text.Whitespace
|
||||||
|
.mf { color: #099 } // Literal.Number.Float
|
||||||
|
.mh { color: #099 } // Literal.Number.Hex
|
||||||
|
.mi { color: #099 } // Literal.Number.Integer
|
||||||
|
.mo { color: #099 } // Literal.Number.Oct
|
||||||
|
.sb { color: #d14 } // Literal.String.Backtick
|
||||||
|
.sc { color: #d14 } // Literal.String.Char
|
||||||
|
.sd { color: #d14 } // Literal.String.Doc
|
||||||
|
.s2 { color: #d14 } // Literal.String.Double
|
||||||
|
.se { color: #d14 } // Literal.String.Escape
|
||||||
|
.sh { color: #d14 } // Literal.String.Heredoc
|
||||||
|
.si { color: #d14 } // Literal.String.Interpol
|
||||||
|
.sx { color: #d14 } // Literal.String.Other
|
||||||
|
.sr { color: #009926 } // Literal.String.Regex
|
||||||
|
.s1 { color: #d14 } // Literal.String.Single
|
||||||
|
.ss { color: #990073 } // Literal.String.Symbol
|
||||||
|
.bp { color: #999 } // Name.Builtin.Pseudo
|
||||||
|
.vc { color: #008080 } // Name.Variable.Class
|
||||||
|
.vg { color: #008080 } // Name.Variable.Global
|
||||||
|
.vi { color: #008080 } // Name.Variable.Instance
|
||||||
|
.il { color: #099 } // Literal.Number.Integer.Long
|
||||||
|
}
|
12
theme.toml
Normal file
12
theme.toml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
name = "Lekh"
|
||||||
|
license = "MIT"
|
||||||
|
licenselink = "https://github.com/invinciblycool/lekh/blob/master/LICENSE.md"
|
||||||
|
description = "A text focussed and minimal personal portfolio theme, inspired from https://github.com/vegarsti/vegarsti.github.io"
|
||||||
|
homepage = "https://github.com/invinciblycool/lekh"
|
||||||
|
tags = ["minimal", "clean", "blog", "responsive", "personal", "simple", "minimalist", "portfolio", "text-focussed"]
|
||||||
|
features = ["blog", "Clean and minimal", "Responsive", "Social media links", "Markdown", "Text focussed"]
|
||||||
|
min_version = "0.38"
|
||||||
|
|
||||||
|
[author]
|
||||||
|
name = "Rahul Tiwari"
|
||||||
|
homepage = "https://rtiwari.me/"
|
Loading…
Reference in New Issue
Block a user