Skip to content

Commit 3e607e6

Browse files
authored
Merge pull request #3 from yusuf-musleh/website-2.0
Website 2.0 with Blog
2 parents e0cdf84 + 570546d commit 3e607e6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+1565
-827
lines changed

Dockerfile

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM python:3.12
2+
3+
WORKDIR /app
4+
5+
COPY requirements.txt /app/
6+
7+
RUN pip install --no-cache-dir -r requirements.txt
8+
9+
COPY . /app/
10+
11+
ENTRYPOINT ['bash']

README.md

+23-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,23 @@
1-
# yusuf-musleh.github.io
2-
Personal Website
1+
My personal website/blog. Built with [blag](https://github.com/venthur/blag).
2+
3+
## Running locally
4+
5+
```sh
6+
docker build -t personal-website .
7+
docker run --rm -it -v .:/app/ personal-website
8+
```
9+
10+
## Updating content
11+
12+
1. Edit the contents of files in `/content`
13+
1. To add a new page, create a `.md` file without defining the `Date` field
14+
1. To add a new writing, create an .md file with the `Data` field
15+
1. Once you are happy with the new content, generate the static files
16+
17+
```sh
18+
blab -v build -o docs
19+
```
20+
21+
That should generate the new static files in the `/docs` directory
22+
1. Since I don't want the writings on the index page, replace the contents of `docs/writings.html` with contents of `docs/index.html`, and replace the contents of `docs/index.html` with the contents of `docs/about.html`.
23+
1. Fix the `<title>` tags of both files

Resume.pdf

-30.9 KB
Binary file not shown.

config.ini

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[main]
2+
base_url = https://ymusleh.com
3+
title = Yusuf Musleh
4+
description = thoughts and devlogs
5+
author = Yusuf Musleh
6+

content/about.md

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
title: About Me
2+
description: Information about me.
3+
4+
5+
## About Me
6+
7+
![Yusuf Icon](yusuf-icon.png)
8+
9+
Hello there! I'm Yusuf, a software engineer currently based out of Doha, Qatar. I've worked extensively in startups, building complex systems from the ground up and scaling them to meet growing demands.
10+
11+
I'm currently building and exploring projects in the distributed systems and web3 space. I plan to share my progress and learnings through my [writings](writings.md).
12+
13+
## Contact
14+
15+
You can find me on [GitHub](https://github.com/yusuf-musleh), [LinkedIn](https://www.linkedin.com/in/yusufmusleh/) and [X](https://twitter.com/YusufMusleh).

content/hello-world.md

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Title: Hello World!
2+
Description: Welcome to my new Website
3+
Date: 2023-02-08 12:00
4+
Tags: intro, blog
5+
6+
7+
### Welcome to my new Website
8+
9+
Hey there! I recently decided to throw up a new website, the old one has been up for quite a while and it was time for a change.
10+
11+
The actual real motivation behind this though was because I wanted a place to share more about interesting projects I am working on. As any software engineer would do before starting a new big project... prepare to start the new project by doing a smaller project that _"needs"_ to be done first, in clear [yak shaving](https://xkcd.com/1739/) fashion. So here we are.
12+
13+
I'm hoping to publish more updates on my learnings and progress with small devlogs that document the journey. There isn't really a general cadence for how often I will write, but whenever I figure out something I was stuck on or discover something interesting, I'll share it here.
14+
15+
I will post more updates with I am planning to build soon. Stay tuned!

content/writings.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
title: Writings
2+
description: My writings and posts.
3+
4+
5+
## Writings
6+
7+
This is a placeholder page.

css/index.css

-61
This file was deleted.

docs/about.html

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="utf-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<meta name="color-scheme" content="light dark">
8+
<meta name="author" content="Yusuf Musleh">
9+
<meta name="description" content="Information about me.">
10+
<link rel="alternate" href="/atom.xml" type="application/atom+xml">
11+
<link rel="stylesheet" href="/style.css" type="text/css">
12+
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
13+
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
14+
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
15+
<link rel="manifest" href="/site.webmanifest">
16+
<title>Yusuf Musleh | About Me</title>
17+
</head>
18+
19+
<body>
20+
<header>
21+
<h1><a href="/">Yusuf Musleh</a></h1>
22+
<nav>
23+
<h2>thoughts and devlogs</h2>
24+
<ul>
25+
<li><h2><a href="/writings.html">Writings</a></h2></li>
26+
<li><h2><a href="/archive.html">Archive</a></h2></li>
27+
<li><h2><a href="/tags/">Tags</a></h2></li>
28+
</ul>
29+
</nav>
30+
</header>
31+
32+
<main>
33+
34+
35+
<h2>About Me</h2>
36+
<p><img alt="Yusuf Icon" src="yusuf-icon.png"></p>
37+
<p>Hello there! I&rsquo;m Yusuf, a software engineer currently based out of Doha, Qatar. I&rsquo;ve worked extensively in startups, building complex systems from the ground up and scaling them to meet growing demands.</p>
38+
<p>I&rsquo;m currently building and exploring projects in the distributed systems and web3 space. I plan to share my progress and learnings through my <a href="writings.html">writings</a>.</p>
39+
<h2>Contact</h2>
40+
<p>You can find me on <a href="https://github.com/yusuf-musleh">GitHub</a>, <a href="https://www.linkedin.com/in/yusufmusleh/">LinkedIn</a> and <a href="https://twitter.com/YusufMusleh">X</a>.</p>
41+
42+
43+
</main>
44+
45+
<footer>
46+
<p>
47+
Find me on
48+
<a href="https://github.com/yusuf-musleh">Github</a> -
49+
<a href="https://www.linkedin.com/in/yusufmusleh/">Linkedin</a> -
50+
<a href="https://twitter.com/YusufMusleh">X</a>
51+
<br>
52+
This website was built with <a href="https://github.com/venthur/blag">blag</a>.
53+
</p>
54+
</footer>
55+
</body>
56+
57+
</html>

docs/android-chrome-192x192.png

11.9 KB
Loading

docs/android-chrome-512x512.png

28.3 KB
Loading

docs/apple-touch-icon.png

10.5 KB
Loading

docs/archive.html

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="utf-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<meta name="color-scheme" content="light dark">
8+
<meta name="author" content="Yusuf Musleh">
9+
<meta name="description" content="thoughts and devlogs">
10+
<link rel="alternate" href="/atom.xml" type="application/atom+xml">
11+
<link rel="stylesheet" href="/style.css" type="text/css">
12+
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
13+
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
14+
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
15+
<link rel="manifest" href="/site.webmanifest">
16+
<title>Yusuf Musleh | Archive</title>
17+
</head>
18+
19+
<body>
20+
<header>
21+
<h1><a href="/">Yusuf Musleh</a></h1>
22+
<nav>
23+
<h2>thoughts and devlogs</h2>
24+
<ul>
25+
<li><h2><a href="/writings.html">Writings</a></h2></li>
26+
<li><h2><a href="/archive.html">Archive</a></h2></li>
27+
<li><h2><a href="/tags/">Tags</a></h2></li>
28+
</ul>
29+
</nav>
30+
</header>
31+
32+
<main>
33+
34+
35+
36+
37+
<article>
38+
<header>
39+
<time datetime="2023-02-08 12:00:00+00:00">2023-02-08</time>
40+
<div>
41+
<h2><a href="hello-world.html">Hello World!</a></h2>
42+
43+
<p>— Welcome to my new Website</p>
44+
45+
</div>
46+
</header>
47+
</article>
48+
49+
50+
51+
52+
</main>
53+
54+
<footer>
55+
<p>
56+
Find me on
57+
<a href="https://github.com/yusuf-musleh">Github</a> -
58+
<a href="https://www.linkedin.com/in/yusufmusleh/">Linkedin</a> -
59+
<a href="https://twitter.com/YusufMusleh">X</a>
60+
<br>
61+
This website was built with <a href="https://github.com/venthur/blag">blag</a>.
62+
</p>
63+
</footer>
64+
</body>
65+
66+
</html>

docs/atom.xml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf8"?>
2+
<feed xmlns="http://www.w3.org/2005/Atom"><title>Yusuf Musleh</title><link href="https://ymusleh.com/" rel="alternate"></link><link href="https://ymusleh.com/atom.xml" rel="self"></link><id>https://ymusleh.com/</id><updated>2023-02-08T12:00:00+00:00</updated><subtitle>thoughts and devlogs</subtitle><entry><title>Hello World!</title><link href="https://ymusleh.com/hello-world.html" rel="alternate"></link><published>2023-02-08T12:00:00+00:00</published><updated>2023-02-08T12:00:00+00:00</updated><author><name>Yusuf Musleh</name></author><id>tag:ymusleh.com,2023-02-08:/hello-world.html</id><summary type="html">Welcome to my new Website</summary><content type="html">&lt;h3&gt;Welcome to my new Website&lt;/h3&gt;
3+
&lt;p&gt;Hey there! I recently decided to throw up a new website, the old one has been up for quite a while and it was time for a change.&lt;/p&gt;
4+
&lt;p&gt;The actual real motivation behind this though was because I wanted a place to share more about interesting projects I am working on. As any software engineer would do before starting a new big project&amp;hellip; prepare to start the new project by doing a smaller project that &lt;em&gt;&amp;ldquo;needs&amp;rdquo;&lt;/em&gt; to be done first, in clear &lt;a href="https://xkcd.com/1739/"&gt;yak shaving&lt;/a&gt; fashion. So here we are.&lt;/p&gt;
5+
&lt;p&gt;I&amp;rsquo;m hoping to publish more updates on my learnings and progress with small devlogs that document the journey. There isn&amp;rsquo;t really a general cadence for how often I will write, but whenever I figure out something I was stuck on or discover something interesting, I&amp;rsquo;ll share it here.&lt;/p&gt;
6+
&lt;p&gt;I will post more updates with I am planning to build soon. Stay tuned!&lt;/p&gt;</content></entry></feed>

docs/code-dark.css

+83
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
pre { line-height: 125%; }
2+
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
3+
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
4+
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
5+
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
6+
.hll { background-color: #49483e }
7+
.c { color: #75715e } /* Comment */
8+
.err { color: #960050; background-color: #1e0010 } /* Error */
9+
.esc { color: #f8f8f2 } /* Escape */
10+
.g { color: #f8f8f2 } /* Generic */
11+
.k { color: #66d9ef } /* Keyword */
12+
.l { color: #ae81ff } /* Literal */
13+
.n { color: #f8f8f2 } /* Name */
14+
.o { color: #f92672 } /* Operator */
15+
.x { color: #f8f8f2 } /* Other */
16+
.p { color: #f8f8f2 } /* Punctuation */
17+
.ch { color: #75715e } /* Comment.Hashbang */
18+
.cm { color: #75715e } /* Comment.Multiline */
19+
.cp { color: #75715e } /* Comment.Preproc */
20+
.cpf { color: #75715e } /* Comment.PreprocFile */
21+
.c1 { color: #75715e } /* Comment.Single */
22+
.cs { color: #75715e } /* Comment.Special */
23+
.gd { color: #f92672 } /* Generic.Deleted */
24+
.ge { color: #f8f8f2; font-style: italic } /* Generic.Emph */
25+
.gr { color: #f8f8f2 } /* Generic.Error */
26+
.gh { color: #f8f8f2 } /* Generic.Heading */
27+
.gi { color: #a6e22e } /* Generic.Inserted */
28+
.go { color: #66d9ef } /* Generic.Output */
29+
.gp { color: #f92672; font-weight: bold } /* Generic.Prompt */
30+
.gs { color: #f8f8f2; font-weight: bold } /* Generic.Strong */
31+
.gu { color: #75715e } /* Generic.Subheading */
32+
.gt { color: #f8f8f2 } /* Generic.Traceback */
33+
.kc { color: #66d9ef } /* Keyword.Constant */
34+
.kd { color: #66d9ef } /* Keyword.Declaration */
35+
.kn { color: #f92672 } /* Keyword.Namespace */
36+
.kp { color: #66d9ef } /* Keyword.Pseudo */
37+
.kr { color: #66d9ef } /* Keyword.Reserved */
38+
.kt { color: #66d9ef } /* Keyword.Type */
39+
.ld { color: #e6db74 } /* Literal.Date */
40+
.m { color: #ae81ff } /* Literal.Number */
41+
.s { color: #e6db74 } /* Literal.String */
42+
.na { color: #a6e22e } /* Name.Attribute */
43+
.nb { color: #f8f8f2 } /* Name.Builtin */
44+
.nc { color: #a6e22e } /* Name.Class */
45+
.no { color: #66d9ef } /* Name.Constant */
46+
.nd { color: #a6e22e } /* Name.Decorator */
47+
.ni { color: #f8f8f2 } /* Name.Entity */
48+
.ne { color: #a6e22e } /* Name.Exception */
49+
.nf { color: #a6e22e } /* Name.Function */
50+
.nl { color: #f8f8f2 } /* Name.Label */
51+
.nn { color: #f8f8f2 } /* Name.Namespace */
52+
.nx { color: #a6e22e } /* Name.Other */
53+
.py { color: #f8f8f2 } /* Name.Property */
54+
.nt { color: #f92672 } /* Name.Tag */
55+
.nv { color: #f8f8f2 } /* Name.Variable */
56+
.ow { color: #f92672 } /* Operator.Word */
57+
.pm { color: #f8f8f2 } /* Punctuation.Marker */
58+
.w { color: #f8f8f2 } /* Text.Whitespace */
59+
.mb { color: #ae81ff } /* Literal.Number.Bin */
60+
.mf { color: #ae81ff } /* Literal.Number.Float */
61+
.mh { color: #ae81ff } /* Literal.Number.Hex */
62+
.mi { color: #ae81ff } /* Literal.Number.Integer */
63+
.mo { color: #ae81ff } /* Literal.Number.Oct */
64+
.sa { color: #e6db74 } /* Literal.String.Affix */
65+
.sb { color: #e6db74 } /* Literal.String.Backtick */
66+
.sc { color: #e6db74 } /* Literal.String.Char */
67+
.dl { color: #e6db74 } /* Literal.String.Delimiter */
68+
.sd { color: #e6db74 } /* Literal.String.Doc */
69+
.s2 { color: #e6db74 } /* Literal.String.Double */
70+
.se { color: #ae81ff } /* Literal.String.Escape */
71+
.sh { color: #e6db74 } /* Literal.String.Heredoc */
72+
.si { color: #e6db74 } /* Literal.String.Interpol */
73+
.sx { color: #e6db74 } /* Literal.String.Other */
74+
.sr { color: #e6db74 } /* Literal.String.Regex */
75+
.s1 { color: #e6db74 } /* Literal.String.Single */
76+
.ss { color: #e6db74 } /* Literal.String.Symbol */
77+
.bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
78+
.fm { color: #a6e22e } /* Name.Function.Magic */
79+
.vc { color: #f8f8f2 } /* Name.Variable.Class */
80+
.vg { color: #f8f8f2 } /* Name.Variable.Global */
81+
.vi { color: #f8f8f2 } /* Name.Variable.Instance */
82+
.vm { color: #f8f8f2 } /* Name.Variable.Magic */
83+
.il { color: #ae81ff } /* Literal.Number.Integer.Long */

0 commit comments

Comments
 (0)