Adding the first version of my cypherpunk blog
This commit is contained in:
parent
7add68e4ab
commit
b6436779a2
|
@ -0,0 +1,7 @@
|
||||||
|
Copyright (C) 2023 DAVID EUGENIO PEREZ NEGRON ROCHA.
|
||||||
|
Permission is granted to copy, distribute and/or modify this document
|
||||||
|
under the terms of the GNU Free Documentation License, Version 1.3
|
||||||
|
or any later version published by the Free Software Foundation;
|
||||||
|
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
||||||
|
A copy of the license is included in the section entitled "GNU
|
||||||
|
Free Documentation License".
|
|
@ -0,0 +1,61 @@
|
||||||
|
# zerm
|
||||||
|
|
||||||
|
a minimalist and dark theme for [Zola](https://getzola.org).
|
||||||
|
|
||||||
|
![Screenshot](../master/zerm-preview.png?raw=true)
|
||||||
|
|
||||||
|
[**Live Preview!**](https://zerm.ejmg.now.sh/)
|
||||||
|
|
||||||
|
Largely a port of Radek Kozieł's [Terminal
|
||||||
|
Theme](https://github.com/panr/hugo-theme-terminal) for Hugo. 4/5ths of my way
|
||||||
|
through porting this theme, I discovered Paweł Romanowski own independent fork
|
||||||
|
for Zola, [Terminimal](https://github.com/pawroman/zola-theme-terminimal),
|
||||||
|
which helped me get the PostCSS to Sass styling conversion done more
|
||||||
|
quickly. My sincerest thanks to both of you!
|
||||||
|
|
||||||
|
## differences
|
||||||
|
|
||||||
|
This theme is largely true to the original by Radek, but there are some mild
|
||||||
|
differences. They are almost all stylistic in nature and are intended to
|
||||||
|
emphasize minimalism even more. Some of them are as follows:
|
||||||
|
- tags are now included in a post's meta data.
|
||||||
|
- no post image previews.
|
||||||
|
- categories are included in the taxonomy.
|
||||||
|
- bullet points have slightly more margin and different symbols for nesting.
|
||||||
|
- no social media or comment support.
|
||||||
|
|
||||||
|
Some of these might be added later and [PR's are always
|
||||||
|
welcomed](https://github.com/ejmg/zerm/pulls).
|
||||||
|
|
||||||
|
## configuration
|
||||||
|
|
||||||
|
Please follow the Zola documentation for [how to use a
|
||||||
|
theme](https://www.getzola.org/documentation/themes/installing-and-using-themes/#installing-a-theme).
|
||||||
|
|
||||||
|
In `config.toml`, you will find all values for customization that are supported
|
||||||
|
thus far have documentation explaining how they are used. If there is any confusion or something is not working as intended, [please open an issue](https://github.com/ejmg/zerm/issues)!
|
||||||
|
|
||||||
|
## math
|
||||||
|
You can use KaTeX for mathematical typesetting.
|
||||||
|
Assets are only available if you opt-in on a per-page level through
|
||||||
|
a single line (`math=true`) on the extra section of the page frontmatter.
|
||||||
|
|
||||||
|
``` md
|
||||||
|
# index.md
|
||||||
|
+++
|
||||||
|
title="this page title"
|
||||||
|
...
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
math=true
|
||||||
|
+++
|
||||||
|
|
||||||
|
Content
|
||||||
|
```
|
||||||
|
|
||||||
|
Pages wich doesn't opt-in are not affected in any way, so you doesn't have
|
||||||
|
to worry about any performance hit.
|
||||||
|
|
||||||
|
## license
|
||||||
|
|
||||||
|
MIT. See `LICENSE.md` for more details.
|
132
config.toml
132
config.toml
|
@ -1,16 +1,140 @@
|
||||||
# The URL the site will be built for
|
# The URL the site will be built for
|
||||||
base_url = "https://nethunters.xyz"
|
base_url = "https://nethunters.xyz"
|
||||||
|
|
||||||
|
# Used in RSS by default
|
||||||
|
title = "Computer Science Notes and Research"
|
||||||
|
description = "A Cypherpunk Free Knowledge Blog"
|
||||||
|
|
||||||
|
# The default language, used in RSS
|
||||||
|
# TODO: I would love to support more languages and make this easy to handle
|
||||||
|
# with other facets of the theme.
|
||||||
|
default_language = "en"
|
||||||
|
|
||||||
|
# Whether to generate a RSS feed automatically
|
||||||
|
generate_feed = true
|
||||||
|
# 'atom.xml' (default if unspecified) and 'rss.xml' are officially supported
|
||||||
|
# values for feed_filename in this theme. All other filenames will assume a
|
||||||
|
# link type of 'application/rss+xml'.
|
||||||
|
# feed_filename = "atom.xml"
|
||||||
|
|
||||||
|
# Theme name to use.
|
||||||
|
# NOTE: should not need to mess with this if you are using zerm directly, i.e. cloning the
|
||||||
|
# repository at root and not using as directed by the Zola docs via themes/ directory.
|
||||||
|
# theme = ""
|
||||||
|
|
||||||
# Whether to automatically compile all Sass files in the sass directory
|
# Whether to automatically compile all Sass files in the sass directory
|
||||||
compile_sass = true
|
compile_sass = true
|
||||||
|
|
||||||
# Whether to build a search index to be used later on by a JavaScript library
|
# Whether to build a search index to be used later on by a JavaScript library
|
||||||
build_search_index = false
|
build_search_index = false
|
||||||
|
|
||||||
[markdown]
|
# Built in taxonomies of zerm.
|
||||||
# Whether to do syntax highlighting
|
taxonomies = [
|
||||||
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
|
{name = "tags"},
|
||||||
highlight_code = false
|
{name = "categories"},
|
||||||
|
]
|
||||||
|
|
||||||
[extra]
|
[extra]
|
||||||
# Put all your custom variables here
|
# Put all your custom variables here
|
||||||
|
#
|
||||||
|
# Many configurations are taken directly from Terminal's config.toml
|
||||||
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
|
# Author name to be added to posts, if enabled.
|
||||||
|
author = "David E. Perez Negron Rocha (A.K.A P1R0)"
|
||||||
|
|
||||||
|
# Show author's name in blog post meta data.
|
||||||
|
show_author = false
|
||||||
|
|
||||||
|
# Show categories a blog post is marked with in its meta data.
|
||||||
|
show_categories = true
|
||||||
|
|
||||||
|
# Show tags a blog post is marked with in its meta data.
|
||||||
|
show_tags = true
|
||||||
|
|
||||||
|
# Theme color. You can have any color you want, so long as it's...
|
||||||
|
# ["orange", "blue", "red", "green", "pink"]
|
||||||
|
theme_color = "blue"
|
||||||
|
|
||||||
|
# Custom css to style over the defaults. This is useful when you only have a
|
||||||
|
# few small tweaks to make rather than a major rehaul to the theme.
|
||||||
|
# It would be best to make this a proper .sass or .scss file in sass/ rather
|
||||||
|
# than placing in static/
|
||||||
|
# custom_css = "custom.css"
|
||||||
|
|
||||||
|
# How many menu items to show on desktop. if you set this to 0, only submenu
|
||||||
|
# button will be visible.
|
||||||
|
show_menu_items = 2
|
||||||
|
|
||||||
|
# set theme to full screen width.
|
||||||
|
full_width = false
|
||||||
|
|
||||||
|
# center theme with default width.
|
||||||
|
center = false
|
||||||
|
|
||||||
|
# set a custom favicon. Must be placed in root of static/ directory...
|
||||||
|
# favicon = ""
|
||||||
|
|
||||||
|
|
||||||
|
# Set a custom preview image for your website when posted as a link.
|
||||||
|
# Must be placed in root of static/ directory...
|
||||||
|
# og_preview_img = ""
|
||||||
|
|
||||||
|
# Copyright notice if desired. Defaults to
|
||||||
|
#copyright = '''
|
||||||
|
#Copyright (C) 2023 DAVID EUGENIO PEREZ NEGRON ROCHA
|
||||||
|
#Permission is granted to copy, distribute and/or modify this document
|
||||||
|
#under the terms of the GNU Free Documentation License, Version 1.3
|
||||||
|
#or any later version published by the Free Software Foundation;
|
||||||
|
#with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
||||||
|
#A copy of the license is included in the section entitled "GNU
|
||||||
|
#Free Documentation License".
|
||||||
|
#'''
|
||||||
|
|
||||||
|
# What is displayed in the top left corner of the website. Default is zerm.
|
||||||
|
logo_text = "NetHunters"
|
||||||
|
|
||||||
|
# Link in logo. Default returns you to $BASE_URL.
|
||||||
|
logo_home_link = "/"
|
||||||
|
|
||||||
|
# Menu items to display. You define a url and the name of the menu item.
|
||||||
|
# NOTE: `$BASE_URL/` must be included in the url name.
|
||||||
|
main_menu = [
|
||||||
|
{url="/about_me/", name="about me"},
|
||||||
|
{url="/contact/", name="contact"},
|
||||||
|
{url="https://deca.eco", name="deca.eco", external=true},
|
||||||
|
]
|
||||||
|
|
||||||
|
# Displayed as title of drop-down menu when size of main_menu > show_menu_items.
|
||||||
|
menu_more = "show more"
|
||||||
|
|
||||||
|
# Displayed after teaser text for a blog post.
|
||||||
|
read_more = "read more"
|
||||||
|
|
||||||
|
# not currently used from previous theme, but leaving here for now in case I
|
||||||
|
# feel like adding it.
|
||||||
|
read_other_posts = "read other posts"
|
||||||
|
|
||||||
|
|
||||||
|
# Enable math typesetting with KaTeX
|
||||||
|
# Show math in pages with `math=true` in the TOML frontmatter
|
||||||
|
enable_katex = true
|
||||||
|
|
||||||
|
# Options for disqus
|
||||||
|
disqus = { enabled=false, short_name="" }
|
||||||
|
|
||||||
|
# generate Table of Contents for all articles
|
||||||
|
# Table of Contents can be generated for individual articles
|
||||||
|
# by adding `ToC = true` in [extra] section in frontmatter
|
||||||
|
# ToC = true
|
||||||
|
|
||||||
|
[markdown]
|
||||||
|
# Whether to do syntax highlighting
|
||||||
|
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
|
||||||
|
highlight_code = true
|
||||||
|
|
||||||
|
# Syntax highlighting theme. See:
|
||||||
|
# https://www.getzola.org/documentation/getting-started/configuration/#syntax-highlighting
|
||||||
|
# for more information and themes built into Zola.
|
||||||
|
highlight_theme = "1337" # Other dark themes that work: "1337", "agola-dark",
|
||||||
|
# "visual-studio-dark"
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
+++
|
||||||
|
sort_by = "date"
|
||||||
|
transparent = true
|
||||||
|
paginate_by = 3
|
||||||
|
insert_anchor_links = "right"
|
||||||
|
+++
|
|
@ -0,0 +1,145 @@
|
||||||
|
+++
|
||||||
|
title = "about me"
|
||||||
|
path = "about_me"
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
date = 2023-08-27
|
||||||
|
+++
|
||||||
|
|
||||||
|
# David Eugenio Perez Negron Rocha
|
||||||
|
|
||||||
|
**Location and Time:** Morelia, Michoacan, Mexico CST (GMT/UTC -6 , NO DST).
|
||||||
|
|
||||||
|
**Emails:** [david@nethunters.xyz](mailto:david@nethunters.xyz), [daroperez_negron@esimez.mx](mailto:daroperez_negron@esimez.mx).
|
||||||
|
|
||||||
|
**Date of Birth:** 1988-02-03 (570906000)
|
||||||
|
|
||||||
|
**Blog:** [nethunters.xyz](https://nethunters.xyz)
|
||||||
|
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
## Education
|
||||||
|
|
||||||
|
### National Polytechnic Institute (IPN)
|
||||||
|
> 2010-2015
|
||||||
|
|
||||||
|
Undergraduate as a Communications and Electronics Engineer with a specialty in Computing from the Superior School of Mechanical and Electrical Engineering (ESIME)
|
||||||
|
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
## Courses and Bootcamps
|
||||||
|
|
||||||
|
### Solidity & Solidity Expert Bootcamps (Encode Club)
|
||||||
|
> 2023
|
||||||
|
|
||||||
|
A free, intensive, 8-week coding bootcamp to learn Solidity and blockchain from scratch + intensive 5-week coding bootcamp
|
||||||
|
to be a Solidity Expert.
|
||||||
|
|
||||||
|
### Open Source Mexico
|
||||||
|
> 2006
|
||||||
|
|
||||||
|
Computer Server Administration based on Debian GNU/Linux OS Course
|
||||||
|
|
||||||
|
### Electronic Processes and Capacitance Institute
|
||||||
|
> 2004-2005
|
||||||
|
|
||||||
|
Certified Computers Operator
|
||||||
|
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
## Work Experience
|
||||||
|
|
||||||
|
### DECENTRALIZED CLIMATE FOUNDATION A.C.
|
||||||
|
> 2022-2023
|
||||||
|
|
||||||
|
Lead Blockchain Architect and Developer, Research and Developments in [Decentralized Autonomus Organizations](https://docs.decentralizedclimate.org/2023-04-06-DAOP0.html), Game Theory Models and UML Modeling for [DECA Protocol](https://docs.google.com/presentation/d/1H4V5X0X-9jnulwmmQBKk7PiStqKoPh_t_h7F0R3kLw0/edit#slide=id.p). Also managed social services students for further WEB3 development and DCF documentation.
|
||||||
|
|
||||||
|
### NEETSEC INTERNATIONAL INC.
|
||||||
|
> 2018-2022
|
||||||
|
|
||||||
|
Vice President and CTO, Blockchain Architect and Developer (smart contracts/DAPPs), tokenomics modeling, cybersecurity and general technologies behind the [DECA Token](www.deca.eco). Research and development on decentralized systems (IPFS, WEB3).
|
||||||
|
|
||||||
|
### National Polytechnic Institute and Energy Regulation Commission (IPN - CRE)
|
||||||
|
> 2017-2018
|
||||||
|
|
||||||
|
Data engineer (Hadoop, Hive, Jupyter), architecture modeler (Hardware, Debian, Xen, LVM, nginx, Azure) and developer (Python3, PANDAS, R) of the National Market Monitoring Unit. The source code is proprietary.
|
||||||
|
|
||||||
|
### National Polytechnic Institute and National Secretariat of Energy (IPN - SENER)
|
||||||
|
> 2016-2017
|
||||||
|
|
||||||
|
Data engineer (Hadoop, R), architecture modeler (Hardware, Debian, Xen, LVM, nginx) and developer (Python, jCharts, php5) of the National Market Monitoring Unit. The source code is proprietary.
|
||||||
|
|
||||||
|
### Center of Advanced Research and Studies of the IPN - CINVESTAV
|
||||||
|
> 2013-2015
|
||||||
|
|
||||||
|
Research Assistant in the Experimental Physics Area for Development of Thermoacoustic Engines for Cold Refrigeration that works on sound waves, under the guidance of Ph.D. Feliciano Sánchez Sinencio and Ph.D. Daniel Stolik. Also developed a free software project named [FreeMonoCrom](https://github.com/P1R/freeMonoCrom.git).
|
||||||
|
|
||||||
|
### Grupo Lanware, Communications Solutions Enterprise
|
||||||
|
> 2009-2010
|
||||||
|
|
||||||
|
Support for Network Infrastructure, Configuration, and Network Operations Training.
|
||||||
|
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
## General Knowledge and Skills
|
||||||
|
> A: Advanced
|
||||||
|
|
||||||
|
> I: Intermediate
|
||||||
|
|
||||||
|
### Networks and Communications
|
||||||
|
|
||||||
|
* Networks(A): OSI, TCP/IP, LAN and WAN Design with VLSM and Route Summarization.
|
||||||
|
* Routing(A): Cisco and Enterasys Routers Configuration, with OSPF v3, SNMP, Loopback, IPV4 & IPV6.
|
||||||
|
* Services and Protocols(A): FTP, HTTP, SSL/TLS, SSH, SMTP, POP3, IMAP.
|
||||||
|
* Software Tools(A): Cisco Packet Tracer, GNS3, Wireshark, nmap and others.
|
||||||
|
* WEB3(A): IPFS, IPNS, DNSLink.
|
||||||
|
|
||||||
|
### Electronics
|
||||||
|
|
||||||
|
* Measurement(A): Oscilloscope operation, Signal Functions Generator operation, Multimeter operation and design.
|
||||||
|
* Microconotrles and devices (A): Semiconductor components, digital circuits, Microcontrollers, ESP32, PIC16, SMT32, ARM64.
|
||||||
|
* Software for Electronics Design and Testing (I): EAGLE, KiKAD, ALTIUM, GEDA.
|
||||||
|
* Power Electronics(I): Interfaces, Protections and high power devices.
|
||||||
|
|
||||||
|
|
||||||
|
### Systems Administration
|
||||||
|
* SysAdmin and user level(A): GNU/Linux (Arch, RedHat, Debian with 22 years of experience), Mac OS X, FreeBSD, OpenSolaris.
|
||||||
|
* Virtualization and containers(A): LXD-LXC, KVM, XEN, Docker.
|
||||||
|
* Databases (I): OrbitDB/MongoDB, postgreSQL, MySQL, liteSQL,and Hadoop/Hive,
|
||||||
|
* Services Management (A): apache, nginx, openssh, proftpd, MySQL, PHP5 and others.
|
||||||
|
|
||||||
|
|
||||||
|
### Software Development
|
||||||
|
* Programming languages (A): Solidity, Python3, ANSI C, Bash, PlantUML.
|
||||||
|
* Developmentlanguages (I): Typescript, Rust, C++, Matlab, HTML.
|
||||||
|
* Software Version Control: SVN (I), GIT(A).
|
||||||
|
* Software Management(A): Scrum, PlantUML
|
||||||
|
|
||||||
|
|
||||||
|
### Comunication Languages
|
||||||
|
|
||||||
|
* Spanish(A)
|
||||||
|
* English(A)
|
||||||
|
* Russian(I)
|
||||||
|
|
||||||
|
## Academic Projects
|
||||||
|
|
||||||
|
### Development of VoIP Software
|
||||||
|
Named NAGVOZ with a Glade Graphical Interface, associated with technologies such as Perl Language, NetCat and ALSA (Advanced Linux Sound Architecture). Third place in the Physics ESIME Awards (won while I was enrolled in third undergraduate semester).
|
||||||
|
|
||||||
|
### Implementation and Development of a Browser for searching books at The Science and Technology National Library (BNCT)
|
||||||
|
Team Development and Implementation of zKiosk Browser under the Modified Debian GNU/Linux OS that provides secure light terminal clients for searching books.
|
||||||
|
|
||||||
|
### Engineering Thesis Project
|
||||||
|
Real Time Sunlight Tracking System. With a distributed database, IoT API and real time measurement, plotting voltage vs time in a webpage developed with html5+javascript. The electronic architectures are STM32 ARM and Raspberry PI. Helpful in modeling and analysing Solar behavior (https://gitlab.com/p1r0/TESIS-pi)
|
||||||
|
|
||||||
|
|
||||||
|
## FOSS Projects
|
||||||
|
|
||||||
|
| Name | Description |
|
||||||
|
|:-----:|:-----------:|
|
||||||
|
| [DECA Smart Contract (Audited by Quanstamp)](https://gitlab.com/deca-currency/dcc) | Decentralized Carbon Credits in an ERC20 by neetsec. |
|
||||||
|
| [Carbon Credits Decentralized Backlog](https://gitlab.com/deca-currency/carboncreditsbacklog) | DECA's Carbon Credits OrbitDB Code and configs, everything you need for setting up a node. |
|
||||||
|
| [Simple Flask API with SSL support](https://gitlab.com/p1r0/sflaskapi) | simple REST flask API, integrates CORS ( dummy data ) with Example clients (Javascript, python3, others.) |
|
||||||
|
| [DECA Price Mechanism](https://gitlab.com/deca-currency/price-mechanism) | A Jupyter Semi-Stable Token Modeling and Research paper in Lyx. |
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
+++
|
||||||
|
title="contact"
|
||||||
|
description="In what Social Networks I am online"
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
date=2019-03-26
|
||||||
|
+++
|
||||||
|
|
||||||
|
# Contact us
|
||||||
|
|
||||||
|
* [Telegram](https://t.me/TheNetHunters/1)
|
||||||
|
* [Matrix](https://matrix.to/#/#TheNetHunters:matrix.org)
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"scripts":
|
||||||
|
{
|
||||||
|
"install": "curl -L -O https://github.com/getzola/zola/releases/download/v0.13.0/zola-v0.13.0-x86_64-unknown-linux-gnu.tar.gz && tar -xzf zola-v0.13.0-x86_64-unknown-linux-gnu.tar.gz",
|
||||||
|
"build": "./zola build"
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,93 @@
|
||||||
|
Copyright (c) 2014, The Fira Code Project Authors (https://github.com/tonsky/FiraCode)
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting -- in part or in whole -- any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
@ -0,0 +1 @@
|
||||||
|
!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){n(1),e.exports=n(2)},function(e,t){},function(e,t){var n=document.querySelector(".container"),o=document.querySelector(".menu"),r=document.querySelector(".menu-trigger"),i=(document.querySelector(".menu__inner--desktop"),document.querySelector(".menu__sub-inner-more-trigger")),u=document.querySelector(".menu__sub-inner-more"),c=getComputedStyle(document.body).getPropertyValue("--phoneWidth"),d=function(){return window.matchMedia(c).matches},s=function(){r&&r.classList.toggle("hidden",!d()),o&&o.classList.toggle("hidden",d()),u&&u.classList.toggle("hidden",!d())};o&&o.addEventListener("click",function(e){return e.stopPropagation()}),u&&u.addEventListener("click",function(e){return e.stopPropagation()}),s(),document.body.addEventListener("click",function(){d()||!u||u.classList.contains("hidden")?d()&&!o.classList.contains("hidden")&&o.classList.add("hidden"):u.classList.add("hidden")}),window.addEventListener("resize",s),r&&r.addEventListener("click",function(e){e.stopPropagation(),o&&o.classList.toggle("hidden")}),i&&i.addEventListener("click",function(e){e.stopPropagation(),u&&u.classList.toggle("hidden"),u.getBoundingClientRect().right>n.getBoundingClientRect().right&&(u.style.left="auto",u.style.right=0)})}]);
|
|
@ -0,0 +1 @@
|
||||||
|
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),a=function(e,t,r){for(var n=r,o=0,a=e.length;n<t.length;){var i=t[n];if(o<=0&&t.slice(n,n+a)===e)return n;"\\"===i?n++:"{"===i?o++:"}"===i&&o--,n++}return-1},i=function(e,t,r,n){for(var o=[],i=0;i<e.length;i++)if("text"===e[i].type){var l=e[i].data,d=!0,s=0,f=void 0;for(-1!==(f=l.indexOf(t))&&(s=f,o.push({type:"text",data:l.slice(0,s)}),d=!1);;){if(d){if(-1===(f=l.indexOf(t,s)))break;o.push({type:"text",data:l.slice(s,f)}),s=f}else{if(-1===(f=a(r,l,s+t.length)))break;o.push({type:"math",data:l.slice(s+t.length,f),rawData:l.slice(s,f+r.length),display:n}),s=f+r.length}d=!d}o.push({type:"text",data:l.slice(s)})}else o.push(e[i]);return o},l=function(e,t){var r=function(e,t){for(var r=[{type:"text",data:e}],n=0;n<t.length;n++){var o=t[n];r=i(r,o.left,o.right,o.display||!1)}return r}(e,t.delimiters);if(1===r.length&&"text"===r[0].type)return null;for(var n=document.createDocumentFragment(),a=0;a<r.length;a++)if("text"===r[a].type)n.appendChild(document.createTextNode(r[a].data));else{var l=document.createElement("span"),d=r[a].data;t.displayMode=r[a].display;try{t.preProcess&&(d=t.preProcess(d)),o.a.render(d,l,t)}catch(e){if(!(e instanceof o.a.ParseError))throw e;t.errorCallback("KaTeX auto-render: Failed to parse `"+r[a].data+"` with ",e),n.appendChild(document.createTextNode(r[a].rawData));continue}n.appendChild(l)}return n};t.default=function(e,t){if(!e)throw new Error("No element provided to render");var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code","option"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},function e(t,r){for(var n=0;n<t.childNodes.length;n++){var o=t.childNodes[n];if(3===o.nodeType){var a=l(o.textContent,r);a&&(n+=a.childNodes.length-1,t.replaceChild(a,o))}else 1===o.nodeType&&function(){var t=" "+o.className+" ";-1===r.ignoredTags.indexOf(o.nodeName.toLowerCase())&&r.ignoredClasses.every(function(e){return-1===t.indexOf(" "+e+" ")})&&e(o,r)}()}}(e,r)}}]).default});
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
||||||
|
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("katex"));else if("function"==typeof define&&define.amd)define(["katex"],t);else{var r="object"==typeof exports?t(require("katex")):t(e.katex);for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),u=document.body.getElementsByTagName("script");(u=Array.prototype.slice.call(u)).forEach(function(e){if(!e.type||!e.type.match(/math\/tex/i))return-1;var t=null!=e.type.match(/mode\s*=\s*display(;|\s|\n|$)/),r=document.createElement(t?"div":"span");r.setAttribute("class",t?"equation":"inline-equation");try{o.a.render(e.text,r,{displayMode:t})}catch(t){r.textContent=e.text}e.parentNode.replaceChild(r,e)})}]).default});
|
|
@ -0,0 +1 @@
|
||||||
|
:root{--accent: rgb(35,176,255);--accent-alpha-20: rgba(35,176,255,.2);--accent-alpha-70: rgba(35,176,255,.7);--background: #1D1E28;--color: whitesmoke;--border-color: rgba(255, 255, 255, .1);--footnote-color: rgba(255, 255, 255, .5)}
|
|
@ -0,0 +1 @@
|
||||||
|
:root{--accent: rgb(72, 251, 53);--accent-alpha-20: rgba(72, 251, 53,.2);--accent-alpha-70: rgba(72, 251, 53,.7);--background: #1F222A;--color: whitesmoke;--border-color: rgba(255, 255, 255, .1);--footnote-color: rgba(255, 255, 255, .5)}
|
|
@ -0,0 +1 @@
|
||||||
|
:root{--accent: rgb(255,168,106);--accent-alpha-20: rgba(255, 168, 106, .2);--accent-alpha-70: rgba(255, 168, 106,.7);--background: #211f1a;--color: whitesmoke;--border-color: rgba(255, 255, 255, .1);--footnote-color: rgba(255, 255, 255, .5)}
|
|
@ -0,0 +1 @@
|
||||||
|
:root{--accent: rgb(238,114,241);--accent-alpha-20: rgba(238,114,241,.2);--accent-alpha-70: rgba(238,114,241,.7);--background: #21202C;--color: whitesmoke;--border-color: rgba(255, 255, 255, .1);--footnote-color: rgba(255, 255, 255, .5)}
|
|
@ -0,0 +1 @@
|
||||||
|
:root{--accent: rgb(255,98,102);--accent-alpha-20: rgba(255,98,102,.2);--accent-alpha-70: rgba(255,98,102,.7);--background: #221F29;--color: whitesmoke;--border-color: rgba(255, 255, 255, .1);--footnote-color: rgba(255, 255, 255, .5)}
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,29 @@
|
||||||
|
button,
|
||||||
|
.button,
|
||||||
|
a.button {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 8px 18px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
text-decoration: none;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
appearance: none;
|
||||||
|
cursor: pointer;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.read-more,
|
||||||
|
a.read-more:hover,
|
||||||
|
a.read-more:active {
|
||||||
|
display: inline-flex;
|
||||||
|
background: none;
|
||||||
|
box-shadow: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 20px 0;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Fira Code';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: url("assets/fonts/FiraCode-Regular.woff2") format("woff2"), url("assets/fonts/FiraCode-Regular.woff") format("woff");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Fira Code';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 800;
|
||||||
|
font-display: swap;
|
||||||
|
src: url("assets/fonts/FiraCode-Bold.woff2") format("woff2"), url("assets/fonts/FiraCode-Bold.woff") format("woff");
|
||||||
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
@import "variables";
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
padding: 40px 0;
|
||||||
|
flex-grow: 0;
|
||||||
|
opacity: .5;
|
||||||
|
|
||||||
|
&__inner {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 0;
|
||||||
|
width: 760px;
|
||||||
|
max-width: 100%;
|
||||||
|
|
||||||
|
@media (max-width: $tablet-max-width) {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.copyright {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 1rem;
|
||||||
|
// so `--light-color-secondary` color exists no where else in the stylings
|
||||||
|
// color: var(--light-color-secondary);
|
||||||
|
// As a substitute, I'm going to use the alpha-70 version of accent.
|
||||||
|
color: var(--accent-alpha-70);
|
||||||
|
|
||||||
|
&--user {
|
||||||
|
margin: auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
& > *:first-child:not(:only-child) {
|
||||||
|
margin-right: 10px;
|
||||||
|
|
||||||
|
@media (max-width: $tablet-max-width) {
|
||||||
|
border: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: $tablet-max-width) {
|
||||||
|
flex-direction: column;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// .copyright-theme-sep {
|
||||||
|
// @media (max-width: $tablet-max-width) {
|
||||||
|
// display: none;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// .copyright-theme {
|
||||||
|
// @media (max-width: $tablet-max-width) {
|
||||||
|
// font-size: 0.75rem;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
|
@ -0,0 +1,139 @@
|
||||||
|
@import "variables";
|
||||||
|
|
||||||
|
@mixin menu {
|
||||||
|
background: var(--background);
|
||||||
|
box-shadow: var(--shadow);
|
||||||
|
color: var(--color);
|
||||||
|
border: 2px solid;
|
||||||
|
margin: 0;
|
||||||
|
padding: 10px;
|
||||||
|
list-style: none;
|
||||||
|
z-index: 99;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&__inner {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__logo {
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
content: '';
|
||||||
|
background: repeating-linear-gradient(90deg, var(--accent), var(--accent) 2px, transparent 0, transparent 10px);
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
flex: 0 0 auto;
|
||||||
|
max-width: 100%;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu {
|
||||||
|
margin: 20px 0;
|
||||||
|
--shadow-color: var(--accent-alpha-70);
|
||||||
|
--shadow: 0 10px var(--shadow-color), -10px 10px var(--shadow-color), 10px 10px var(--shadow-color);
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
@include menu;
|
||||||
|
position: absolute;
|
||||||
|
top: 50px;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__inner {
|
||||||
|
// @include menu;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
&--desktop {
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&--mobile {
|
||||||
|
display: none;
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
// &.active {
|
||||||
|
// color: var(--accent-alpha-70);
|
||||||
|
// }
|
||||||
|
&:not(:last-of-type) {
|
||||||
|
margin-right: 20px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
flex: 0 0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: flex-start;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
li {
|
||||||
|
margin: 0;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&__sub-inner {
|
||||||
|
position: relative;
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
&:not(:only-child) {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-more {
|
||||||
|
@include menu;
|
||||||
|
top: 35px;
|
||||||
|
left: 0;
|
||||||
|
|
||||||
|
&-trigger {
|
||||||
|
color: var(--accent);
|
||||||
|
user-select: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
margin: 0;
|
||||||
|
padding: 5px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&-trigger {
|
||||||
|
color: var(--accent);
|
||||||
|
border: 2px solid;
|
||||||
|
margin-left: 10px;
|
||||||
|
height: 100%;
|
||||||
|
padding: 3px 8px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
.logo {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
text-decoration: none;
|
||||||
|
background: var(--accent);
|
||||||
|
color: black;
|
||||||
|
padding: 5px 10px;
|
||||||
|
}
|
|
@ -0,0 +1,335 @@
|
||||||
|
@import "variables";
|
||||||
|
|
||||||
|
html {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
*,
|
||||||
|
*:before,
|
||||||
|
*:after {
|
||||||
|
box-sizing: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-family: 'Fira Code', Menlo, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
|
||||||
|
font-size: 1rem;
|
||||||
|
line-height: 1.54;
|
||||||
|
background-color: var(--background);
|
||||||
|
color: var(--color);
|
||||||
|
text-rendering: optimizeLegibility;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
font-feature-settings: "liga";
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
line-height: 1.3;
|
||||||
|
|
||||||
|
&:not(first-child) {
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zola-anchor {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
visibility: hidden;
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
vertical-align: 1%;
|
||||||
|
text-decoration: none;
|
||||||
|
border-bottom-color: transparent;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
@media(max-width: $phone-max-width){
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
.zola-anchor {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Actually keeping Pawroman's stylings here for font-size over h1-h6.
|
||||||
|
// I prefer differentiated header height.
|
||||||
|
|
||||||
|
// OLD
|
||||||
|
// ---------------------
|
||||||
|
// h1, h2, h3 {
|
||||||
|
// font-size: 1.4rem;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// h4, h5, h6 {
|
||||||
|
// font-size: 1.2rem;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Pawroman's
|
||||||
|
// ---------------------
|
||||||
|
h1 {
|
||||||
|
font-size: 1.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4, h5, h6 {
|
||||||
|
font-size: 1.15rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
display: block;
|
||||||
|
max-width: 100%;
|
||||||
|
|
||||||
|
&.left {
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.center {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.right {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure {
|
||||||
|
display: table;
|
||||||
|
max-width: 100%;
|
||||||
|
margin: 25px 0;
|
||||||
|
|
||||||
|
&.left {
|
||||||
|
// img {
|
||||||
|
margin-right: auto;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
&.center {
|
||||||
|
// img {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
&.right {
|
||||||
|
// img {
|
||||||
|
margin-left: auto;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
figcaption {
|
||||||
|
font-size: 14px;
|
||||||
|
padding: 5px 10px;
|
||||||
|
margin-top: 5px;
|
||||||
|
background: var(--accent);
|
||||||
|
color: var(--background);
|
||||||
|
|
||||||
|
&.left {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-family: 'Fira Code', Menlo, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
|
||||||
|
font-feature-settings: normal;
|
||||||
|
background: var(--accent-alpha-20);
|
||||||
|
color: var(--accent);
|
||||||
|
padding: 1px 6px;
|
||||||
|
margin: 0 2px;
|
||||||
|
font-size: .95rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
font-family: 'Fira Code', Menlo, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
|
||||||
|
font-feature-settings: "liga";
|
||||||
|
padding: 20px 10px;
|
||||||
|
font-size: .95rem;
|
||||||
|
overflow: auto;
|
||||||
|
border-top: 1px solid rgba(255, 255, 255, .1);
|
||||||
|
border-bottom: 1px solid rgba(255, 255, 255, .1);
|
||||||
|
|
||||||
|
+ pre {
|
||||||
|
border-top: 0;
|
||||||
|
margin-top: -40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
background: none !important;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-size: inherit;
|
||||||
|
border: none;
|
||||||
|
|
||||||
|
table {
|
||||||
|
table-layout: auto;
|
||||||
|
border-collapse: collapse;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 100%;
|
||||||
|
margin: 00px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table, th, td {
|
||||||
|
border: none;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table tr td:first-child {
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
border-top: 1px solid var(--accent);
|
||||||
|
border-bottom: 1px solid var(--accent);
|
||||||
|
margin: 40px 0;
|
||||||
|
padding: 25px;
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
content: '”';
|
||||||
|
font-family: Georgia, serif;
|
||||||
|
font-size: 3.875rem;
|
||||||
|
position: absolute;
|
||||||
|
left: -40px;
|
||||||
|
top: -20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:first-of-type {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:last-of-type {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:before {
|
||||||
|
content: '>';
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
left: -25px;
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
table-layout: fixed;
|
||||||
|
border-collapse: collapse;
|
||||||
|
width: 100%;
|
||||||
|
margin: 40px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table, th, td {
|
||||||
|
border: 1px dashed var(--accent);
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol {
|
||||||
|
margin-left: 30px;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
li {
|
||||||
|
position: relative;
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ol ol {
|
||||||
|
list-style-type: lower-alpha;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
padding: 40px;
|
||||||
|
max-width: 864px;
|
||||||
|
min-height: 100vh;
|
||||||
|
border-right: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
|
|
||||||
|
&.full,
|
||||||
|
&.center {
|
||||||
|
border: none;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.full {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: $phone-max-width) {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
border: none;
|
||||||
|
background: var(--border-color);
|
||||||
|
height: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
|
@ -0,0 +1,63 @@
|
||||||
|
@import 'variables';
|
||||||
|
|
||||||
|
.pagination {
|
||||||
|
margin-top: 50px;
|
||||||
|
|
||||||
|
&__buttons {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
// @media (max-width: $phone-max-width) {
|
||||||
|
// flex-direction: column;
|
||||||
|
// }
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
position: relative;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 1rem;
|
||||||
|
border-radius: 8px;
|
||||||
|
max-width: 40%;
|
||||||
|
padding: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
appearance: none;
|
||||||
|
|
||||||
|
+ .button {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// @media (max-width: $phone-max-width) {
|
||||||
|
// max-width: 80%;
|
||||||
|
// }
|
||||||
|
|
||||||
|
a {
|
||||||
|
display: flex;
|
||||||
|
padding: 8px 16px;
|
||||||
|
text-decoration: none;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__text {
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.next .button__icon {
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.previous .button__icon {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,114 @@
|
||||||
|
@import "variables";
|
||||||
|
|
||||||
|
// .posts {
|
||||||
|
// margin: 0 auto;
|
||||||
|
// }
|
||||||
|
|
||||||
|
.post {
|
||||||
|
width: 100%;
|
||||||
|
text-align: left;
|
||||||
|
margin: 20px auto;
|
||||||
|
padding: 20px 0;
|
||||||
|
|
||||||
|
@media (max-width: $tablet-max-width) {
|
||||||
|
max-width: 660px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(:last-of-type) {
|
||||||
|
border-bottom: 1px solid var(--border-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
// %meta {
|
||||||
|
// font-size: 1rem;
|
||||||
|
// margin-bottom: 10px;
|
||||||
|
// color: var(--accent-alpha-70);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// &-meta {
|
||||||
|
// @extend %meta;
|
||||||
|
// }
|
||||||
|
// &-meta-inline {
|
||||||
|
// @extend %meta;
|
||||||
|
|
||||||
|
// display: inline;
|
||||||
|
// }
|
||||||
|
|
||||||
|
&-meta {
|
||||||
|
font-size: 1rem;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
color: var(--accent-alpha-70);
|
||||||
|
}
|
||||||
|
|
||||||
|
&-title {
|
||||||
|
--border: 3px dotted var(--accent);
|
||||||
|
position: relative;
|
||||||
|
color: var(--accent);
|
||||||
|
margin: 0 0 15px;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
border-bottom: var(--border);
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
bottom: 2px;
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
border-bottom: var(--border);
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&-content {
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
list-style: none;
|
||||||
|
|
||||||
|
li:before {
|
||||||
|
content: '⦿';
|
||||||
|
position: absolute;
|
||||||
|
left: -20px;
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
ul {
|
||||||
|
|
||||||
|
li:before {
|
||||||
|
content: '■';
|
||||||
|
position: absolute;
|
||||||
|
left: -20px;
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
|
||||||
|
li:before {
|
||||||
|
content: '►';
|
||||||
|
position: absolute;
|
||||||
|
left: -20px;
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: try adapting this using a properly nested selector in the block above
|
||||||
|
// for ul items.
|
||||||
|
.tag-list {
|
||||||
|
@media(max-width: $phone-max-width) {
|
||||||
|
margin-left: 5%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.footnote-definition {
|
||||||
|
color: var(--accent);
|
||||||
|
|
||||||
|
p {
|
||||||
|
display: inline;
|
||||||
|
color: var(--footnote-color);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
section, article, aside, footer, header, nav {
|
||||||
|
display: block;
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
div.toc {
|
||||||
|
--shadow-color: var(--accent-alpha-70);
|
||||||
|
--shadow: 10px 10px var(--shadow-color);
|
||||||
|
@include menu;
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
:root {
|
||||||
|
// *NOTE*:
|
||||||
|
// ------------------------------------------------
|
||||||
|
//Keep the same as the values in variables.scss!!!!!
|
||||||
|
--phoneWidth: (max-width: 684px);
|
||||||
|
--tabletWidth: (max-width: 900px);
|
||||||
|
}
|
||||||
|
|
||||||
|
$phone-max-width: 683px;
|
||||||
|
$tablet-max-width: 899px;
|
|
@ -0,0 +1,9 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(35,176,255);
|
||||||
|
--accent-alpha-20: rgba(35,176,255,.2);
|
||||||
|
--accent-alpha-70: rgba(35,176,255,.7);
|
||||||
|
--background: #1D1E28;
|
||||||
|
--color: whitesmoke;
|
||||||
|
--border-color: rgba(255, 255, 255, .1);
|
||||||
|
--footnote-color: rgba(255, 255, 255, .5);
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
:root {
|
||||||
|
// --accent: rgb(120,226,160);
|
||||||
|
// --accent-alpha-20: rgba(120,226,160,.2);
|
||||||
|
// --accent-alpha-70: rgba(120,226,160,.7);
|
||||||
|
--accent: rgb(72, 251, 53);
|
||||||
|
--accent-alpha-20: rgba(72, 251, 53,.2);
|
||||||
|
--accent-alpha-70: rgba(72, 251, 53,.7);
|
||||||
|
--background: #1F222A;
|
||||||
|
--color: whitesmoke;
|
||||||
|
--border-color: rgba(255, 255, 255, .1);
|
||||||
|
--footnote-color: rgba(255, 255, 255, .5);
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(255,168,106);
|
||||||
|
--accent-alpha-20: rgba(255, 168, 106, .2);
|
||||||
|
--accent-alpha-70: rgba(255, 168, 106,.7);
|
||||||
|
--background: #211f1a;
|
||||||
|
--color: whitesmoke;
|
||||||
|
--border-color: rgba(255, 255, 255, .1);
|
||||||
|
--footnote-color: rgba(255, 255, 255, .5);
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(238,114,241);
|
||||||
|
--accent-alpha-20: rgba(238,114,241,.2);
|
||||||
|
--accent-alpha-70: rgba(238,114,241,.7);
|
||||||
|
--background: #21202C;
|
||||||
|
--color: whitesmoke;
|
||||||
|
--border-color: rgba(255, 255, 255, .1);
|
||||||
|
--footnote-color: rgba(255, 255, 255, .5);
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
:root {
|
||||||
|
--accent: rgb(255,98,102);
|
||||||
|
--accent-alpha-20: rgba(255,98,102,.2);
|
||||||
|
--accent-alpha-70: rgba(255,98,102,.7);
|
||||||
|
--background: #221F29;
|
||||||
|
--color: whitesmoke;
|
||||||
|
--border-color: rgba(255, 255, 255, .1);
|
||||||
|
--footnote-color: rgba(255, 255, 255, .5);
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
@import 'buttons';
|
||||||
|
@import 'font';
|
||||||
|
@import 'header';
|
||||||
|
@import 'logo';
|
||||||
|
@import 'main';
|
||||||
|
@import 'post';
|
||||||
|
@import 'pagination';
|
||||||
|
@import 'footer';
|
||||||
|
@import 'semantic';
|
||||||
|
@import 'toc';
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue