Initial commit

This commit is contained in:
Augusto Gunsch 2022-03-28 16:24:48 -03:00
commit ef4c0ca120
16 changed files with 494 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
venv/
__pycache__/

22
content/index_en.md Normal file
View File

@ -0,0 +1,22 @@
# Augusto Gunsch
Polish-Brazilian fullstack developer living in Caxias do Sul, Brazil.
## Contact
<span class="icon" id="matrix">Matrix: @augusto-gunsch:matrix.org</span>
<span class="icon" id="email">Email: augustogunsch@tutanota.com</span>
If you want to encrypt your email messages, you can use my [public PGP
key](static/augustogunsch@tutanota.com.pub.asc).
## Links
<span class="icon" id="github">[Github](https://github.com/augustogunsch)</span>
<span class="icon" id="linkedin">[LinkedIn](https://www.linkedin.com/in/augusto-gunsch-210b17218)</span>
## Skills
- Programming languages: C/C++, Python, Shell Script, JavaScript, Rust
- Web: HTML and CSS
- Languages: English and Portuguese
- Calculus
## Donations
<span class="icon" id="monero">Monero: <code>86JjGobWkTwh7k5SoBhXVB4Nbx28fhVi122knfyHYWJvN33Jsn1Z6yPAXfc4dsRhLN4zAAs29fUEJWmAmVJxoPUgGmtpS5P</code></span>

33
content/projects_en.md Normal file
View File

@ -0,0 +1,33 @@
# Featured Projects
## Fsub
Command-line SubRip file (.srt) editor. Available on my [Github](https://github.com/augustogunsch/fsub) and on [PyPi](https://pypi.org/project/fsub/).
## Inflective
Offline REST API, written in Rust, for the Wiktionary projects database,
serving inflections of most words from the following languages:
- English
- French
- German
- Italian
- Polish
- Portuguese
- Russian
- Spanish
Also includes a web user interface. Based on the “[wiktextract](https://pypi.org/project/wiktextract)” Python script
and relying on [kaikki.org](https://kaikki.org).
It is not yet ready but usable, though there is no streamlined installation
process. You can find the repository
[here](https://github.com/augustogunsch/inflectived).
## Install-Arch
Shell scripts for installing my setup of Arch and Artix Linux. Available on my [Github](https://github.com/augustogunsch/install-arch).
## Jackc
Compiler and assembler of the Jack programming language, for the Hack computer architecture.
This is the project of the [Nand2Tetris](https://www.nand2tetris.org) course
and is available [here](https://github.com/augustogunsch/jackc).

63
index.py Normal file
View File

@ -0,0 +1,63 @@
import os
import re
import random
from flask import Flask
from flask import render_template, url_for, redirect
import markdown2
app = Flask(__name__)
CONTENT_DIR = 'content/'
STATIC_DIR = 'static/'
def not_found():
return '<h1>This page does not exist</h1>', 404
def read_md(fname):
with open(fname, 'r') as f:
return markdown2.markdown(f.read())
def get_quote(lang):
quotes = STATIC_DIR + 'quotes_%s.txt' % lang
if not os.path.isfile(quotes):
quotes = STATIC_DIR + 'quotes_en.txt'
with open(quotes, 'r') as f:
quotes = f.read()
quotes = quotes.splitlines()
quote = quotes[random.randrange(0, len(quotes)-1)]
m = re.search('^(.+)(\.|!|\?) ((\d )?\w+ (\(.*\))?\d+:\d+)$', quote)
return m.group(1), m.group(3)
@app.route('/')
def index():
return redirect(url_for('index_lang', lang='en'))
@app.route('/<lang>')
def index_lang(lang):
md = CONTENT_DIR + 'index_%s.md' % lang
if os.path.isfile(md):
body = read_md(md)
quote, author = get_quote(lang)
return render_template('index.html', body=body, quote=quote, author=author)
else:
return not_found()
@app.route('/<lang>/<page>')
def page_lang(lang, page):
md = CONTENT_DIR + '%s_%s.md' % (page, lang)
if os.path.isfile(md):
body = read_md(md)
return body
else:
return not_found()
if __name__ == '__main__':
app.run(host='0.0.0.0')

2
requirements.txt Normal file
View File

@ -0,0 +1,2 @@
flask==2.0.2
markdown2==2.4.2

View File

@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=SAgI
-----END PGP PUBLIC KEY BLOCK-----

BIN
static/email.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
static/github.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
static/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

37
static/index.js Normal file
View File

@ -0,0 +1,37 @@
let language = 'en';
function loadPage(navButton) {
const selected = document.getElementsByClassName('selected')[0];
if (selected != navButton) {
const xhttp = new XMLHttpRequest();
const content = document.getElementById('content');
const page = navButton.id;
if(page != 'index') {
window.location.hash = page;
window.document.title = `Augusto Gunsch | ${navButton.innerHTML}`;
} else {
history.replaceState(null, null, ' ');
window.document.title = 'Augusto Gunsch';
}
xhttp.onload = function() {
content.innerHTML = this.responseText;
}
xhttp.open('GET', `${language}/${page}`, true);
selected.classList.remove('selected');
navButton.classList.add('selected');
content.innerHTML = '<p>Loading...</p>';
xhttp.send();
}
}
if(window.location.hash) {
const page = window.location.hash.split('#')[1];
const navButton = document.getElementById(page);
console.log(navButton);
loadPage(navButton);
}

BIN
static/linkedin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
static/matrix.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 B

BIN
static/monero.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

100
static/quotes_en.txt Normal file
View File

@ -0,0 +1,100 @@
Dont you know that you yourselves are Gods temple and that Gods Spirit dwells in your midst? 1 Corinthians 3:16
“I have the right to do anything,” you say but not everything is beneficial. “I have the right to do anything” but I will not be mastered by anything. 1 Corinthians 6:12
Be careful, however, that the exercise of your rights does not become a stumbling block to the weak. 1 Corinthians 8:9
So, if you think you are standing firm, be careful that you dont fall! 1 Corinthians 10:12
So whether you eat or drink or whatever you do, do it all for the glory of God. 1 Corinthians 10:31
For as woman came from man, so also man is born of woman. But everything comes from God. 1 Corinthians 11:12
There are different kinds of gifts, but the same Spirit distributes them. 1 Corinthians 12:4
Even so the body is not made up of one part but of many. 1 Corinthians 12:14
If I speak in human or angelic tongues, but do not have love, I am only a resounding gong or a clanging cymbal. 1 Corinthians 13:1
Love is patient, love is kind. It does not envy, it does not boast, it is not proud. 1 Corinthians 13:4
And now these three remain: faith, hope and love. But the greatest of these is love. 1 Corinthians 13:13
Follow the way of love and eagerly desire spiritual gifts, especially the gift of prophecy. 1 Corinthians 14:1
Do not be misled: “Bad company corrupts good character.”. 1 Corinthians 15:33
Be on your guard; stand firm in the faith; be courageous; be strong. 1 Corinthians 16:33
Remember this: Whoever sows sparingly will also reap sparingly, and whoever sows generously will also reap generously. 2 Corinthians 9:6
There is a time for everything, and a season for every activity under the heavens. Ecclesiastes 3:1
A time to weep and a time to laugh, a time to mourn and a time to dance. Ecclesiastes 3:4
Therefore each of you must put off falsehood and speak truthfully to your neighbor, for we are all members of one body. Ephesians 4:25
Do not let any unwholesome talk come out of your mouths, but only what is helpful for building others up according to their needs, that it may benefit those who listen. Ephesians 4:29
Get rid of all bitterness, rage and anger, brawling and slander, along with every form of malice. Ephesians 4:31
Have nothing to do with the fruitless deeds of darkness, but rather expose them. Ephesians 5:11
Be very careful, then, how you live not as unwise but as wise. Ephesians 5:15
For our struggle is not against flesh and blood, but against the rulers, against the authorities, against the powers of this dark world and against the spiritual forces of evil in the heavenly realms. Ephesians 6:12
Have you experienced so much in vain if it really was in vain? Galatians 3:4
But the fruit of the Spirit is love, joy, peace, patience, kindness, goodness, faithfulness. Galatians 5:22
We must pay the most careful attention, therefore, to what we have heard, so that we do not drift away. Hebrews 2:1
And let us consider how we may spur one another on toward love and good deeds. Hebrews 10:24
Now faith is being sure of what we hope for and certain of what we do not see. Hebrews 11:1
“Make level paths for your feet,” so that the lame may not be disabled, but rather healed. Hebrews 12:13
Keep on loving one another as brothers and sisters. Hebrews 13:1
Do not forget to show hospitality to strangers, for by so doing some people have shown hospitality to angels without knowing it. Hebrews 13:2
Woe to those who call evil good and good evil, who put darkness for light and light for darkness, who put bitter for sweet and sweet for bitter. Isaiah 5:20
Consider it pure joy, my brothers and sisters, whenever you face trials of many kinds. James 1:2
For the sun rises with scorching heat and withers the plant; its blossom falls and its beauty is destroyed. In the same way, the rich will fade away even while they go about their business. James 1:11
My dear brothers and sisters, take note of this: Everyone should be quick to listen, slow to speak and slow to become angry. James 1:19
You see that people are justified by what they do and not by faith alone. James 2:24
What causes fights and quarrels among you? Dont they come from your desires that battle within you? James 4:1
Is anyone among you in trouble? Let them pray. Is anyone happy? Let them sing songs of praise. James 5:13
The heart is deceitful above all things and beyond cure. Who can understand it? Jeremiah 17:9
The light shines in the darkness, and the darkness has not overcome it. John 1:5
Flesh gives birth to flesh, but the Spirit gives birth to spirit. John 3:6
Stop judging by mere appearances, but instead judge correctly. John 7:24
I am the good shepherd. The good shepherd lays down his life for the sheep. John 10:11
A new command I give you: Love one another. As I have loved you, so you must love one another. John 13:34
My command is this: Love each other as I have loved you. John 15:12
Greater love has no one than this: to lay down ones life for ones friends. John 15:13
Sanctify them by the truth; your word is truth. John 17:17
If we claim to be without sin, we deceive ourselves and the truth is not in us. 1 John 1:8
Dear children, let us not love with words or tongue but with actions and in truth. 1 John 3:18
Whoever does not love does not know God, because God is love. 1 John 4:8
They are from the world and therefore speak from the viewpoint of the world, and the world listens to them. 1 John 4:5
There is no fear in love. But perfect love drives out fear, because fear has to do with punishment. The one who fears is not made perfect in love. 1 John 4:18
Because of the truth, which lives in us and will be with us forever. 2 John 1:2
I have no greater joy than to hear that my children are walking in the truth. 3 John 1:4
Mercy, peace and love be yours in abundance. Jude 1:2
Do to others as you would have them do to you. Luke 6:31
What good is it for you to gain the whole world, yet forfeit your soul? Mark 8:36
Blessed are the meek, for they will inherit the earth. Matthew 5:5
Blessed are those who hunger and thirst for righteousness, for they will be filled. Matthew 5:6
Blessed are the merciful, for they will be shown mercy. Matthew 5:7
Blessed are the peacemakers, for they will be called children of God. Matthew 5:9
But I tell you, love your enemies and pray for those who persecute you. Matthew 5:44
Do not store up for yourselves treasures on earth, where moth and rust destroy, and where thieves break in and steal. Matthew 6:19
For where your treasure is, there your heart will be also. Matthew 6:21
What good will it be for you to gain the whole world, yet forfeit your soul? Or what can you give in exchange for your soul? Matthew 6:26
Do not judge, or you too will be judged. Matthew 7:1
Ask and it will be given to you; seek and you will find; knock and the door will be opened to you. Matthew 7:7
For everyone who asks receives; those who seek find; and to those who knock, the door will be opened. Matthew 7:8
Enter through the narrow gate. For wide is the gate and broad is the road that leads to destruction, and many enter through it. Matthew 7:13
Watch out for false prophets. They come to you in sheeps clothing, but inwardly they are ferocious wolves. Matthew 7:15
And the second is like it: Love your neighbor as yourself.. Matthew 22:39
Finally, all of you, be like-minded, be sympathetic, love one another, be compassionate and humble. 1 Peter 3:8
Be alert and of sober mind. Your enemy the devil prowls around like a roaring lion looking for someone to devour. 1 Peter 5:8
For this very reason, make every effort to add to your faith goodness; and to goodness, knowledge. 2 Peter 1:5
And to knowledge, self-control; and to self-control, perseverance; and to perseverance, godliness. 2 Peter 1:6
And to godliness, mutual affection; and to mutual affection, love. 2 Peter 1:7
Do nothing out of selfish ambition or vain conceit. Rather, in humility value others above yourselves. Philippians 2:3
Above all else, guard your heart, for everything you do flows from it. Proverbs 4:23
Pride goes before destruction, a haughty spirit before a fall. Proverbs 16:8
A cheerful heart is good medicine, but a crushed spirit dries up the bones. Proverbs 17:22
Start children off on the way they should go, and even when they are old they will not turn from it. Proverbs 22:6
Where there is no revelation, people cast off restraint; but blessed are those who heed wisdoms instruction. Proverbs 29:18
Blessed are those who do not walk in step with the wicked or stand in the way that sinners take or sit in the company of mockers. Psalms 1:1
For all have sinned and fall short of the glory of God. Romans 3:23
What shall we say, then? Shall we go on sinning so that grace may increase? Romans 6:1
For sin shall no longer be your master, because you are not under the law, but under grace. Romans 6:14
I urge you, brothers and sisters, to watch out for those who cause divisions and put obstacles in your way that are contrary to the teaching you have learned. Keep away from them. Romans 6:17
The mind controlled by the sinful nature is death, but the mind controlled by the Spirit is life and peace. Romans 8:6
I consider that our present sufferings are not worth comparing with the glory that will be revealed in us. Romans 8:18
Love must be sincere. Hate what is evil; cling to what is good. Romans 12:9
Be devoted to one another in love. Honor one another above yourselves. Romans 12:10
Be joyful in hope, patient in affliction, faithful in prayer. Romans 12:12
If it is possible, as far as it depends on you, live at peace with everyone. Romans 12:18
Accept those whose faith is weak, without quarreling over disputable matters. Romans 14:1
So then, let us not be like others, who are asleep, but let us be awake and sober. 1 Thessalonians 5:6
Dont let anyone look down on you because you are young, but set an example for the believers in speech, in conduct, in love, in faith and in purity. 1 Timothy 4:12
For we brought nothing into the world, and we can take nothing out of it. 1 Timothy 6:7
For the love of money is a root of all kinds of evil. Some people, eager for money, have wandered from the faith and pierced themselves with many griefs. 1 Timothy 6:10
Recalling your tears, I long to see you, so that I may be filled with joy. 3 Timothy 1:4
Warn divisive people once, and then warn them a second time. After that, have nothing to do with them. Titus 3:10

152
static/stylesheet.css Normal file
View File

@ -0,0 +1,152 @@
/*
* #000000 - Black
* #FFC857 - Yellow
* #E9724C - Orange
* #C5283D - Red
* #255F85 - Blue
*/
html {
font-family: sans-serif;
height: 100%;
}
body {
margin: 0;
height: 100%;
display: flex;
}
/* Navigation bar */
nav {
background-color: #255F85;
display: flex;
flex-direction: column;
justify-content: center;
}
nav a {
width: 100%;
padding: .5rem 3rem;
text-align: center;
font-size: 2rem;
box-sizing: border-box;
text-decoration: none;
color: black;
}
nav a:hover {
cursor: pointer;
}
nav a.selected {
background-color: white;
}
/* Main content */
h2 {
font-size: 1.2rem;
}
nav a:hover {
background-color: white;
}
main {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
overflow: auto;
background-color: #fbfce3;
}
main div {
padding: 1em;
}
/* Icons */
.icon {
margin: 1em;
margin-left: 0;
padding-left: 2em;
display: block;
position: relative;
}
.icon::before {
content: ' ';
background-size: 100%;
background-repeat: no-repeat;
height: 1em;
width: 1em;
display: block;
position: absolute;
left: .5em;
}
.icon code {
overflow-x: auto;
display: block;
font-size: 1em;
}
#monero::before {
background-image: url('monero.png');
}
#github::before {
background-image: url('github.png');
}
#linkedin::before {
background-image: url('linkedin.png');
}
#email::before {
background-image: url('email.png');
}
#matrix::before {
background-image: url('matrix.png');
}
/* Quote */
figure {
background-color: white;
padding: 1em;
margin: 0;
border-radius: 10px;
border: 1px dashed #888;
}
blockquote {
margin: 0;
}
figcaption {
text-align: right;
}
/* Mobile */
@media only screen and (max-width: 1000px) {
body {
flex-direction: column-reverse;
}
nav a {
width: auto;
}
nav {
flex-direction: row;
flex-wrap: wrap;
}
}

31
templates/index.html Normal file
View File

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Augusto Gunsch</title>
<link rel="stylesheet" href="{{ url_for('static', filename='stylesheet.css') }}"/>
<link rel="icon" href="{{ url_for('static', filename='icon.png') }}"/>
</head>
<body>
<main>
<div id="content">
{% autoescape false %}
{{ body }}
{% endautoescape %}
</div>
<div>
<figure>
<blockquote>{{ quote }}</blockquote>
<figcaption>{{ author }}</figcaption>
</figure>
</div>
</main>
<nav>
<a onclick="loadPage(this)" class="selected" id="index">Home</a>
<a onclick="loadPage(this)" id="projects">Projects</a>
<!--<a onclick="loadPage(this)" id="articles">Articles</a>-->
<!--<a onclick="loadPage(this)" id="library">Library</a>-->
</nav>
</body>
<script src="{{ url_for('static', filename='index.js') }}"></script>
</html>