initial commit
This commit is contained in:
commit
05e5cd3e51
|
@ -0,0 +1,2 @@
|
|||
html/
|
||||
site/
|
|
@ -0,0 +1,24 @@
|
|||
SRC_DIR = src
|
||||
OUT_DIR = site
|
||||
|
||||
ROOT_DIR = $(SRC_DIR)/root
|
||||
INCLUDE_DIR = $(SRC_DIR)/include
|
||||
|
||||
PAGES = $(shell find $(ROOT_DIR) -wholename "$(ROOT_DIR)*.html")
|
||||
HTML_INCLUDES = $(shell find $(INCLUDE_DIR) -name *.html)
|
||||
HTML_TARGETS = $(PAGES:$(ROOT_DIR)/%.html=$(OUT_DIR)/%.html)
|
||||
|
||||
STYLES = $(shell find $(ROOT_DIR) -wholename "$(ROOT_DIR)*.css")
|
||||
CSS_TARGETS = $(STYLES:$(ROOT_DIR)/%.css=$(OUT_DIR)/%.css)
|
||||
|
||||
run: $(HTML_TARGETS) $(CSS_TARGETS)
|
||||
|
||||
$(OUT_DIR)/%.html: $(ROOT_DIR)/%.html $(HTML_INCLUDES)
|
||||
mkdir -p $(OUT_DIR)
|
||||
python ppp.py $< $(HTML_INCLUDES) > $@
|
||||
|
||||
$(OUT_DIR)/%.css: $(ROOT_DIR)/%.css
|
||||
cp $< $@
|
||||
|
||||
clean:
|
||||
rm -r $(OUT_DIR)
|
|
@ -0,0 +1,66 @@
|
|||
import sys
|
||||
import os.path
|
||||
|
||||
err = False
|
||||
paths = []
|
||||
|
||||
def print_usage():
|
||||
print("\nusage: python ppp.py ROOT TEMPLATES [...]")
|
||||
|
||||
# check arguments
|
||||
argc = len(sys.argv)
|
||||
if argc < 3:
|
||||
print_usage()
|
||||
sys.exit(1)
|
||||
|
||||
# figure out src dir from first include shader path root argument
|
||||
sep="/"
|
||||
inc_start_idx = 2
|
||||
inc_end_idx = argc - 1
|
||||
src_dir = sep.join(sys.argv[2].split(sep)[:-1])
|
||||
|
||||
def preprocess_file(path):
|
||||
lines=0
|
||||
|
||||
with open(path) as f:
|
||||
content = f.readlines()
|
||||
content = [x.strip() for x in content]
|
||||
lines=len(content)
|
||||
|
||||
for line in content:
|
||||
|
||||
directive = "#include"
|
||||
if line.startswith(directive):
|
||||
include_path = line.split(" ")[1]
|
||||
|
||||
# prepend directory
|
||||
include_path = "/".join([src_dir, include_path])
|
||||
|
||||
preprocess_file(include_path)
|
||||
continue
|
||||
|
||||
print(line)
|
||||
|
||||
|
||||
for i in range(1,argc):
|
||||
path = sys.argv[i]
|
||||
|
||||
if not os.path.isfile(path):
|
||||
|
||||
print(path + " is not a file")
|
||||
err = True
|
||||
continue
|
||||
|
||||
if path in paths:
|
||||
# ignore duplicates
|
||||
continue
|
||||
|
||||
paths.append(path)
|
||||
|
||||
if err:
|
||||
print_usage()
|
||||
sys.exit(1)
|
||||
|
||||
preprocess_file(sys.argv[1])
|
||||
|
||||
sys.exit(0)
|
|
@ -0,0 +1,11 @@
|
|||
# ideas
|
||||
|
||||
* [ ] software
|
||||
* [ ] blog
|
||||
* [ ] gallery
|
||||
* [ ] images
|
||||
* [ ] captions
|
||||
|
||||
* [ ] graphics
|
||||
* [ ] a few planets orbit the cursor, or flat color otherwise
|
||||
when you click on the planets they turn into a context menu !
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||
<meta name="description" content="computer whisperer" />
|
||||
<meta name="keywords" content="Cat Flynn, Ktyl, Portfolio, Showreel, Blog, Gallery"/> <!-- blog, gallery -->
|
||||
<link rel="canonical" href="https://ktyl.dev/">
|
||||
<link rel="stylesheet" href="main.css" />
|
||||
|
||||
<script src="https://kit.fontawesome.com/ad50bb2e16.js" crossorigin="anonymous"></script>
|
||||
<!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> -->
|
||||
<!-- <script src="main.js"></script> -->
|
||||
</head>
|
|
@ -0,0 +1 @@
|
|||
<div class="planets"></div>
|
|
@ -0,0 +1,20 @@
|
|||
<div class="sidebar">
|
||||
<div class="sidebarContent">
|
||||
|
||||
<ul>
|
||||
<li><a href="about.html" class="fsText">/about</a></li>
|
||||
<li><a href="portfolio.html" class="fsText">/portfolio</a></li>
|
||||
<li><a href="gallery.html" class="fsText">/gallery</a></li>
|
||||
<li><a href="blog.html" class="fsText">/blog</a></li>
|
||||
<li><a href="contact.html" class="fsText">/contact</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="socials">
|
||||
<a href="https://github.com/ktyldev/"><i class="fab fa-github"></i></a>
|
||||
<a href="https://instragram.com/ktyldev"><i class="fab fa-instagram"></i></a>
|
||||
<a href="https://twitter.com/ktyldev"><i class="fab fa-twitter"></i></a>
|
||||
<a href="https://www.linkedin.com/in/cat-flynn-08751611b/"><i class="fab fa-linkedin"></i></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,15 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
|
||||
#include header.html
|
||||
|
||||
<body>
|
||||
<div class="title">
|
||||
<h1 class="fsText"><a href="index.html">ktyl@website</a>/about</h1>
|
||||
</div>
|
||||
|
||||
#include sidebar.html
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,15 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
|
||||
#include header.html
|
||||
|
||||
<body>
|
||||
<div class="title">
|
||||
<h1 class="fsText"><a href="index.html">ktyl@website</a>/blog</h1>
|
||||
</div>
|
||||
|
||||
#include sidebar.html
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,14 @@
|
|||
:root {
|
||||
/* Special */
|
||||
--background: #eee;
|
||||
--foreground: #222;
|
||||
--foreground-inactive: #777;
|
||||
|
||||
/* Colors */
|
||||
--color0: #0000ff;
|
||||
--color1: #00ff00;
|
||||
--color2: #ff0000;
|
||||
--color3: #ff00ff;
|
||||
--color4: #ffff00;
|
||||
--color5: #00ffff;
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
|
||||
#include header.html
|
||||
|
||||
<body>
|
||||
<div class="title">
|
||||
<h1 class="fsText"><a href="index.html">ktyl@website</a>/contact</h1>
|
||||
</div>
|
||||
|
||||
#include sidebar.html
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,15 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
|
||||
#include header.html
|
||||
|
||||
<body>
|
||||
<div class="title">
|
||||
<h1 class="fsText"><a href="index.html">ktyl@website</a>/contact</h1>
|
||||
</div>
|
||||
|
||||
#include sidebar.html
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,15 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
|
||||
#include header.html
|
||||
|
||||
<body>
|
||||
<div class="title">
|
||||
<h1 class="fsText"><a href="index.html">ktyl@website</a>/gallery</h1>
|
||||
</div>
|
||||
|
||||
#include sidebar.html
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,23 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
|
||||
#include header.html
|
||||
|
||||
<body>
|
||||
<title>ktyl ~ home</title>
|
||||
<div class="title">
|
||||
<h1 class="fsText">ktyl@website</h1>
|
||||
</div>
|
||||
|
||||
#include sidebar.html
|
||||
|
||||
<div class="column">
|
||||
<h1>cats stuff</h1>
|
||||
|
||||
<p>hi, im cat and i do things and stuff. eventually i want to make this an actual, useful landing page for people interested in me and what i do. unfortunately, im very scatterbrained and not very organised! as a result, this is just one of myriad ongoing projects that i constantly try to chip away at, to varying degrees of success.</p>
|
||||
</div>
|
||||
|
||||
#include planets.html
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,164 @@
|
|||
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300&display=swap');
|
||||
@import 'colors.css';
|
||||
|
||||
:root {
|
||||
--title-height: min(20vmin, 90px);
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Ubuntu', sans-serif;
|
||||
|
||||
background-color: var(--background);
|
||||
}
|
||||
|
||||
.title {
|
||||
margin-left: 80px;
|
||||
font-size: 1.4em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: var(--font-size);
|
||||
color: var(--color1);
|
||||
padding-bottom: 0;
|
||||
margin-bottom:0;
|
||||
}
|
||||
|
||||
ul {
|
||||
margin-top: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
li {
|
||||
display:inline;
|
||||
/*padding-left: 1em;*/
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
li:hover {
|
||||
transform: translate(10px);
|
||||
}
|
||||
|
||||
a.fsText {
|
||||
position:relative;
|
||||
text-decoration: none;
|
||||
background-color: var(--background);
|
||||
color: var(--foreground-inactive);
|
||||
|
||||
padding: 0 6px;
|
||||
|
||||
transform: scale(1);
|
||||
transition: background-color 0.2s, color 0.2s, transform 0.2s;
|
||||
}
|
||||
|
||||
.fsText a {
|
||||
text-decoration: none;
|
||||
color: var(--foreground);
|
||||
}
|
||||
|
||||
a.fsText:hover {
|
||||
background-color: var(--background);
|
||||
color: var(--foreground);
|
||||
|
||||
transform: scale(1.1, 1);
|
||||
}
|
||||
|
||||
.fsText {
|
||||
--font-size: 1.6em;
|
||||
font-size: var(--font-size);
|
||||
color: var(--foreground);
|
||||
}
|
||||
|
||||
.column {
|
||||
position: absolute;
|
||||
width: max(30vmax,500px);
|
||||
left:50%;
|
||||
top:var(--title-height);
|
||||
bottom:0;
|
||||
padding: 10px 0 0;
|
||||
background-color: var(--color0);
|
||||
opacity: 0.7;
|
||||
|
||||
transform: translate(-50%, 0);
|
||||
}
|
||||
|
||||
.column p {
|
||||
margin: 0 40px;
|
||||
padding-top: 20px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.column h1 {
|
||||
padding-left: 30px;
|
||||
padding-top: 10px;
|
||||
left: 50%;
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
position: absolute;
|
||||
left: 15px;
|
||||
width: max(11vmax, 180px);
|
||||
top:var(--title-height);
|
||||
bottom:0;
|
||||
|
||||
background-color: var(--background);
|
||||
color: var(--foreground);
|
||||
}
|
||||
|
||||
.sidebarContent {
|
||||
position: relative;
|
||||
background-color: var(--background);
|
||||
top: 50%;
|
||||
transform: translate(0, -50%);
|
||||
}
|
||||
|
||||
.sidebar ul {
|
||||
position: relative;
|
||||
background-color: var(--background);
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.sidebar li {
|
||||
display: block;
|
||||
margin: 5px 0 0 0;
|
||||
}
|
||||
|
||||
.sidebar li a {
|
||||
padding: 0 0;
|
||||
margin-left: -20px;
|
||||
}
|
||||
|
||||
.socials {
|
||||
margin-top: 16px;
|
||||
margin-left: 10px;
|
||||
background-color:var(--background);
|
||||
}
|
||||
|
||||
.socials i {
|
||||
font-size: 2em;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.socials a {
|
||||
color: var(--foreground-inactive);
|
||||
text-decoration: none;
|
||||
|
||||
transition: color 0.3s;
|
||||
}
|
||||
|
||||
.socials a:hover {
|
||||
color: var(--foreground);
|
||||
}
|
||||
|
||||
.planets {
|
||||
position: absolute;
|
||||
height: 60vmax;
|
||||
width: 60vmax;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: -1;
|
||||
|
||||
background-color: var(--color2);
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
|
||||
#include header.html
|
||||
|
||||
<body>
|
||||
<div class="title">
|
||||
<h1 class="fsText"><a href="index.html">ktyl@website</a>/portfolio</h1>
|
||||
</div>
|
||||
|
||||
#include sidebar.html
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
Loading…
Reference in New Issue