Summary Files Commits Branches @commit @diff @stats
path: root / src
diff options
context:
space:
mode:
Commit2098f8d030d52bbbc12a77cbcbdc67b4384b698f (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-09-30 10:47:38 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-09-30 10:47:38 +0300
Filesebfe06d7220cc8776cf2ce6969eab572217f87fc /src
syndamia.com-2098f8d030d52bbbc12a77cbcbdc67b4384b698f.tar
syndamia.com-2098f8d030d52bbbc12a77cbcbdc67b4384b698f.tar.gz
syndamia.com-2098f8d030d52bbbc12a77cbcbdc67b4384b698f.zip
Parentb28b50b2bc9166fe06d9ee7352af9263e2ceb21e (diff)
[src] Removed manually placed heading anchors in all pages
34 files changed, 2 insertions, 123 deletions
-rw-r--r--src/acknowledgements.md1
-rw-r--r--src/assets.md1
-rw-r--r--src/assets/index.md1
-rw-r--r--src/blog.md2
-rw-r--r--src/blog/encrypted-email/index.md12
-rw-r--r--src/blog/index.md2
-rw-r--r--src/blog/mundus-first-shot-at-gamedev/basic-concepts.md6
-rw-r--r--src/blog/mundus-first-shot-at-gamedev/index.md2
-rw-r--r--src/blog/mundus-first-shot-at-gamedev/introduction.md2
-rw-r--r--src/blog/mundus-first-shot-at-gamedev/user-interface.md7
-rw-r--r--src/blog/syndamiadotcom/index.md1
-rw-r--r--src/blog/syndamiadotcom/introduction.md1
-rw-r--r--src/blog/syndamiadotcom/version1.md5
-rw-r--r--src/blog/syndamiadotcom/version2.md4
-rw-r--r--src/license.md5
-rw-r--r--src/policies.md3
-rw-r--r--src/regarding-js.md3
-rw-r--r--src/tutorials.md2
-rw-r--r--src/tutorials/connect-to-mysql-in-dotnet-ef/index.md6
-rw-r--r--src/tutorials/export-skype/index.md4
-rw-r--r--src/tutorials/how-to-encrypt-email/index.md8
-rw-r--r--src/tutorials/how-to-use-jira/cards.md9
-rw-r--r--src/tutorials/how-to-use-jira/components.md3
-rw-r--r--src/tutorials/how-to-use-jira/dashboards.md3
-rw-r--r--src/tutorials/how-to-use-jira/filters.md3
-rw-r--r--src/tutorials/how-to-use-jira/index.md1
-rw-r--r--src/tutorials/how-to-use-jira/introduction.md1
-rw-r--r--src/tutorials/how-to-use-jira/kanban.md3
-rw-r--r--src/tutorials/how-to-use-jira/projects.md7
-rw-r--r--src/tutorials/how-to-use-jira/releases.md1
-rw-r--r--src/tutorials/how-to-use-jira/scrum.md4
-rw-r--r--src/tutorials/index.md2
-rw-r--r--src/tutorials/install-plan9-with-virt-manager/index.md3
-rw-r--r--src/tutorials/windows-run-dialog/index.md7
diff --git a/src/acknowledgements.md b/src/acknowledgements.md
index 63f5f65..2796020 100644
--- a/src/acknowledgements.md
+++ b/src/acknowledgements.md
@@ -10,7 +10,6 @@
: Flag icons
## Special thanks to
-[![πŸ”—](/img/link-tabler.svg)](#special-thanks-to)
[danuluu's programming blogs list](https://danluu.com/programming-blogs/)
: For the excellent list of awesome blogs, from which I drew a good amount of inspiration.
diff --git a/src/assets.md b/src/assets.md
index b82b755..09b1ab7 100644
--- a/src/assets.md
+++ b/src/assets.md
@@ -14,7 +14,6 @@ Lists of documents, images and other media that I made and want to share with th
&&/files
### University work in LaTeX, in Bulgarian
-[![πŸ”—](/img/link-tabler.svg)](#university-work-in-latex-in-bulgarian)
**Бъс сигурност Π΅ възмоТно Π΄Π° ΠΈΠΌΠ° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ нСточности във Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, ΠΈΠ·ΠΏΠΎΠ»Π²Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ!**
diff --git a/src/assets/index.md b/src/assets/index.md
index b82b755..09b1ab7 100644
--- a/src/assets/index.md
+++ b/src/assets/index.md
@@ -14,7 +14,6 @@ Lists of documents, images and other media that I made and want to share with th
&&/files
### University work in LaTeX, in Bulgarian
-[![πŸ”—](/img/link-tabler.svg)](#university-work-in-latex-in-bulgarian)
**Бъс сигурност Π΅ възмоТно Π΄Π° ΠΈΠΌΠ° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ нСточности във Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, ΠΈΠ·ΠΏΠΎΠ»Π²Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ!**
diff --git a/src/blog.md b/src/blog.md
index 1be1567..911b4df 100644
--- a/src/blog.md
+++ b/src/blog.md
@@ -5,13 +5,11 @@ Articles detailing personal experiences or exploration of certain topics.
<br>
#### *2022*
-<div></div>
&&gb [Encrypted email](/blog/encrypted-email)
: `Email` `Encryption` `Security` `PGP` `S/MIME` `Protonmail` `Tutanota`
#### *2020*
-<div></div>
&&gb [Mundus: My first shot at game development](/blog/mundus-first-shot-at-gamedev)
: `Game` `2D` `Sandbox` `Crafting` `Building` `Fighting` `GtkSharp 2.0` `C#`
diff --git a/src/blog/encrypted-email/index.md b/src/blog/encrypted-email/index.md
index 8ef93da..d761557 100644
--- a/src/blog/encrypted-email/index.md
+++ b/src/blog/encrypted-email/index.md
@@ -13,7 +13,6 @@ That's why, after a fairly lengthy research process, I've decided to do just tha
*Note:* What I'm referring to is end-to-end encryption, where you send an encrypted email, and the recipient decrypts it. Encryption between you and a mail server is practically a given and is setup by the mail server administrator.
## Contents
-<div></div>
1. [Encryption and signature](#encryption-and-signature)
2. [OpenPGP](#openpgp)
@@ -29,7 +28,6 @@ That's why, after a fairly lengthy research process, I've decided to do just tha
## Encryption and signature
-[![πŸ”—](/img/link-tabler.svg)](#encryption-and-signature)
Unless stated otherwise, all of the listed encryption (and signature) schemes work by utilizing [public-key cryptography](https://en.wikipedia.org/wiki/Public-key_cryptography).
@@ -48,7 +46,6 @@ Every email you send can be [digitally signed](https://en.wikipedia.org/wiki/Dig
This might sound a bit complicated, but all you need to worry about is you and the recipient generating these public-private key pairs, exchanging public keys, and your email client should handle the rest. And if you use a tool like [pEp](https://www.pep.security/en/), the creation and exchange of keys can be easily automated.
## OpenPGP
-[![πŸ”—](/img/link-tabler.svg)](#openpgp)
By far, the most popular way to encrypt your emails is with [OpenPGP](https://en.wikipedia.org/wiki/Pretty_Good_Privacy). PGP is the original program which implemented the encryption scheme, while OpenPGP is the standard/encryption scheme, which was created from PGP (so when I say OpenPGP, I mean a program that implements OpenPGP).
@@ -59,7 +56,6 @@ OpenPGP divides the security community quite a lot, some [abolish it](https://re
There are two main ways to encrypt an email with OpenPGP:
### PGP/Inline
-[![πŸ”—](/img/link-tabler.svg)](#pgpinline)
The first is called "PGP/Inline", with which you encrypt only the message itself. That's it. And there are [other limitations](https://josefsson.org/inline-openpgp-considered-harmful.html) too, to name a few:
@@ -72,7 +68,6 @@ Though, it's not all bad. If you can survive only sending text to other people,
2. The other option, PGP/MIME, is much harder to implement properly and there have been cases where [it's implementation is flawed](https://web.archive.org/web/20180625054201/https://www.whonix.org/blog/pgp-inline-vs-mime)
### PGP/MIME
-[![πŸ”—](/img/link-tabler.svg)](#pgpmime)
"PGP/MIME" is the second option. As it's name suggests, you can encrypt [MIME](https://en.wikipedia.org/wiki/MIME) data with PGP, which by definition means it supports any content type. This includes:
@@ -89,7 +84,6 @@ PGP/MIME is capable of a lot more, and is [generally preferred](https://www.mail
3. If your client doesn't support it, manual decryption takes a bit more work
## S/MIME
-[![πŸ”—](/img/link-tabler.svg)](#smime)
[S/MIME](https://en.wikipedia.org/wiki/S/MIME), roughly said, combines and extends the [Cryptograhic Message Syntax](https://en.wikipedia.org/wiki/Cryptographic_Message_Syntax) encryption scheme and [MIME](https://en.wikipedia.org/wiki/MIME) standard to create a singular, email-oriented standard.
@@ -102,7 +96,6 @@ On the other hand, you can browse [Google's](https://support.google.com/a/answer
Otherwise, it's email encryption capabilities are the same as those outlined in [PGP/MIME](#pgpmime).
## reop
-[![πŸ”—](/img/link-tabler.svg)](#reop)
[reop](https://flak.tedunangst.com/post/reop) is a very new, simple and "completed" system. The thing is, it's only a single command line utility that uses some encryption schemes (picked by the [nacl](http://nacl.cr.yp.to/index.html) library) for it's own unique system. Currently, there doesn't seem to be any email clients that support it.
@@ -115,7 +108,6 @@ However, as explained in it's [article](https://flak.tedunangst.com/post/reop),
The only reason for using reop is if you want a very small system with a very simple source code behind it. Nevertheless, it's still a viable alternative.
## Post-email systems
-[![πŸ”—](/img/link-tabler.svg)](#post-email-systems)
There is a somewhat old [document](https://github.com/OpenTechFund/secure-email), created by the [OpenTechFunc](https://www.opentech.fund/), which outlines very thoroughly all "next generation secure email or email-like communication" technologies.
@@ -128,7 +120,6 @@ And outline zero trust and fingerprinting as the main advantages of these system
Given that these projects aren't really email, I won't dive much deeper into it. But I will mention, almost all listed projects seem to have been abandoned. Those still under active development are [goldbug](http://goldbug.sourceforge.net/) and [retroshare](https://retroshare.cc/). Until 2021, zeronet *was* updated, but the [author](https://github.com/shortcutme) seems to have [disappeared](https://github.com/HelloZeroNet/ZeroNet/issues/2808#issuecomment-1132820787).
## Centralized non-email systems
-[![πŸ”—](/img/link-tabler.svg)](#centralized-non-email-systems)
"Centralized non-email systems" is another term, which as far as I can tell, is also coined by [this document](https://github.com/OpenTechFund/secure-email) from [OpenTechFunc](https://www.opentech.fund/). They define it as "centralized email-like messaging platform" and further divide it into:
@@ -143,7 +134,6 @@ Out of the listed options, Enlocked doesn't work anymore and was [a bad system](
That leaves us with the two last-standing providers:
### Protonmail
-[![πŸ”—](/img/link-tabler.svg)](#protonmail)
Protonmail, or [proton.me](https://proton.me/) as they are called now, which uses good old [OpenPGP](#openpgp). That means they have end-to-end encryption and zero-access encryption by default for all protonmail accounts. They also [support encrypted conversations with non-protonmail users](https://proton.me/support/how-to-use-pgp).
@@ -152,7 +142,6 @@ Funnily enough, Protonmail doesn't really fit in any of the listed categories, s
Protonmail's services have a free tier, which should be enough for lighter usage, but restricts **heavily** storage, label and folder count, amount of sent messages per day, etc. At the time of writing, their second tier pretty much lifts all restrictions for 5 euro per month (without annual contracts). Check out their pricing [here](https://proton.me/pricing).
### Tutanota
-[![πŸ”—](/img/link-tabler.svg)](#tutanota)
[Tutanota](https://tutanota.com/) uses it's own special system for security. In brief, all of your emails are (zero-access) stored and end-to-end encrypted with (mostly) [AES 128](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard), and while they generate and hold your public and private keys, your password is needed to decrypt your private key (do check out their [security page](https://tutanota.com/security/) for more details).
@@ -161,7 +150,6 @@ However, it's crucial to note that they are a type *2. Semi-closed system*. If y
Finally, pricing. In general, they have a lot less features than [Protonmail](#protonmail), but their free tier is a lot more capable than [Protonmail](#protonmail)'s. Their pricing is extremely flexible, being able to buy specific features by themselves, like storage or mail aliases. Check it out [here](https://tutanota.com/pricing/).
## Conclusion
-[![πŸ”—](/img/link-tabler.svg)](#conclusion)
In brief, almost all email encryption systems use [public-key cryptography](#encryption-and-signature). The most popular of these systems for personal use is [OpenPGP](#openpgp), but in the business space, [S/MIME](#smime) is quite a bit more prominent. [reop](#reop) is a viable, but limited, very new and lightweight systems for encrypting your email messages.
diff --git a/src/blog/index.md b/src/blog/index.md
index 1be1567..911b4df 100644
--- a/src/blog/index.md
+++ b/src/blog/index.md
@@ -5,13 +5,11 @@ Articles detailing personal experiences or exploration of certain topics.
<br>
#### *2022*
-<div></div>
&&gb [Encrypted email](/blog/encrypted-email)
: `Email` `Encryption` `Security` `PGP` `S/MIME` `Protonmail` `Tutanota`
#### *2020*
-<div></div>
&&gb [Mundus: My first shot at game development](/blog/mundus-first-shot-at-gamedev)
: `Game` `2D` `Sandbox` `Crafting` `Building` `Fighting` `GtkSharp 2.0` `C#`
diff --git a/src/blog/mundus-first-shot-at-gamedev/basic-concepts.md b/src/blog/mundus-first-shot-at-gamedev/basic-concepts.md
index 640ca07..b257071 100644
--- a/src/blog/mundus-first-shot-at-gamedev/basic-concepts.md
+++ b/src/blog/mundus-first-shot-at-gamedev/basic-concepts.md
@@ -15,7 +15,6 @@
Even though the game is quite unfinished, there are still a fair bit of mechanics I've developed.
## Contents
-<div></div>
1. [Tiles](#tiles)
2. [Layers and superlayers](#layers-and-superlayers)
@@ -24,7 +23,6 @@ Even though the game is quite unfinished, there are still a fair bit of mechanic
5. [Event logs](#event-logs)
## Tiles
-[![πŸ”—](/img/link-tabler.svg)](#tiles)
The in game world (map) is composed of squares, called tiles. Everything is a type of tile. There are two main categories of tiles: items and mobs. Mobs (mobile object for short) are the creatures in the game, while items are everything else, from the tools, to the trees.
@@ -63,7 +61,6 @@ Items, however, are divided into:
- Swords: used for damaging (killing) mobs
## Layers and superlayers
-[![πŸ”—](/img/link-tabler.svg)](#layers-and-superlayers)
The in game world (map) is composed of superlayers. Superlayers represent each elevation level in the world. Conceptually, there are in total 5 superlayers: Space, Sky, Land, Underground and ???, although only Sky, Land and Underground are implemented.
@@ -76,7 +73,6 @@ Each superlayer is composed of 3 layers: Structure, Mob and Ground. Each one of
- **Structures cannot be placed on top of holes** (empty spots in the ground layer), **except if they are "climable"**, in which case they will be placed in the structure layer on the superlayer below. Mobs also cannot reside on top of holes (they fall to the superlayer below)
## Inventory
-[![πŸ”—](/img/link-tabler.svg)](#inventory)
Each mob can store certain amount of item tiles. That is done in it's inventory. The inventory is comprised of 4 parts:
@@ -87,12 +83,10 @@ Each mob can store certain amount of item tiles. That is done in it's inventory.
- Accessories and Gear: used only for storing gear tiles
## Crafting
-[![πŸ”—](/img/link-tabler.svg)](#crafting)
Creating new item tiles is done through crafting. Each craftable item requires one to five different materials in different quantities. The item tiles must be inside the "items" part of your inventory.
## Event logs
-[![πŸ”—](/img/link-tabler.svg)](#event-logs)
Certain actions you do in the game are stored in memory as messages (logs). They are also used to give you information that you couldn't get otherwise, for example, there is a log when you can't climb up a superlayer because a mob is blocking the way, or when you damage/kill a structure or mob.
diff --git a/src/blog/mundus-first-shot-at-gamedev/index.md b/src/blog/mundus-first-shot-at-gamedev/index.md
index 3935d76..8cc9bd9 100644
--- a/src/blog/mundus-first-shot-at-gamedev/index.md
+++ b/src/blog/mundus-first-shot-at-gamedev/index.md
@@ -19,7 +19,6 @@ Nevertheless, this journey was very important to me, hence writing this multi-pa
**Link to the source code**: [GitLab](https://gitlab.com/Syndamia/Mundus)
## Contents
-<div></div>
[*Due for rework*](/rework.html)
@@ -39,7 +38,6 @@ Nevertheless, this journey was very important to me, hence writing this multi-pa
5. [Event logs](./basic-concepts.html#event-logs)
## Screenshots
-[![πŸ”—](/img/link-tabler.svg)](#screenshots)
<div style="display: flex; overflow-x: scroll; align-items: center">
<img src="./img/small-game-window.png" style="height: 100%; flex: 1; margin-right: 0.5em">
diff --git a/src/blog/mundus-first-shot-at-gamedev/introduction.md b/src/blog/mundus-first-shot-at-gamedev/introduction.md
index 3935d76..8cc9bd9 100644
--- a/src/blog/mundus-first-shot-at-gamedev/introduction.md
+++ b/src/blog/mundus-first-shot-at-gamedev/introduction.md
@@ -19,7 +19,6 @@ Nevertheless, this journey was very important to me, hence writing this multi-pa
**Link to the source code**: [GitLab](https://gitlab.com/Syndamia/Mundus)
## Contents
-<div></div>
[*Due for rework*](/rework.html)
@@ -39,7 +38,6 @@ Nevertheless, this journey was very important to me, hence writing this multi-pa
5. [Event logs](./basic-concepts.html#event-logs)
## Screenshots
-[![πŸ”—](/img/link-tabler.svg)](#screenshots)
<div style="display: flex; overflow-x: scroll; align-items: center">
<img src="./img/small-game-window.png" style="height: 100%; flex: 1; margin-right: 0.5em">
diff --git a/src/blog/mundus-first-shot-at-gamedev/user-interface.md b/src/blog/mundus-first-shot-at-gamedev/user-interface.md
index d08fed5..c8755e0 100644
--- a/src/blog/mundus-first-shot-at-gamedev/user-interface.md
+++ b/src/blog/mundus-first-shot-at-gamedev/user-interface.md
@@ -18,7 +18,6 @@ A lot of the topics covered are explained in more detail in [Basic Concepts](./b
**Note:** all screenshots are made in Linux Mint Cinnamon with Mint-Y theme.
## Contents
-<div></div>
1. [Main screen](#main-screen)
2. [Create new game](#create-new-game)
@@ -28,7 +27,6 @@ A lot of the topics covered are explained in more detail in [Basic Concepts](./b
6. [Crafting menu](#crafting-menu)
## Main screen
-[![πŸ”—](/img/link-tabler.svg)](#main-screen)
![](./img/main-screen.png)
@@ -37,7 +35,6 @@ We start off with the main screen.
Only the `Create a new game` button is implemented, although the `Settings` one does open a blank window.
## Create new game
-[![πŸ”—](/img/link-tabler.svg)](#create-new-game)
![](./img/create-new-game.png)
@@ -54,7 +51,6 @@ Creating a game gives you a couple of options:
**Note:** all game window screenshots are made with the `Small Game Window`.
## Game Window
-[![πŸ”—](/img/link-tabler.svg)](#game-window)
![](./img/small-game-window.png)
@@ -71,7 +67,6 @@ Underneath that, there is your hotbar. It is a part of your inventory.
After that, you have the `Event log` button and some of the most recent events. Clicking the button opens a window from which you can checkout everything that has happened. On the sides, you can find the `Map` and `Inv` toggle buttons and the `Pause` and `Music` menu buttons. The `Music` menu can only play and stop WAV files.
## Map menu
-[![πŸ”—](/img/link-tabler.svg)](#map-menu)
![](./img/map-menu.png)
@@ -80,14 +75,12 @@ The Map menu is an extension (to the left) of the normal game window. It cannot
At the top, you can see the ground layer tiles. Below it you can find the name of the superlayer you're currently in and your coordinates. At the bottom there are the structure layer tiles and `There is a hole above player` field, where you can check whether you are able to ascent a superlayer.
## Inventory menu
-[![πŸ”—](/img/link-tabler.svg)](#inventory-menu)
![](./img/inventory-menu.png)
The Inventory menu is an extension (to the right) of the normal game window. From here you can store your items, organize them, craft and see information about a given item.
## Crafting window
-[![πŸ”—](/img/link-tabler.svg)](#crafting-window)
![](./img/crafting-window.png)
diff --git a/src/blog/syndamiadotcom/index.md b/src/blog/syndamiadotcom/index.md
index 0fe3ff3..64a99df 100644
--- a/src/blog/syndamiadotcom/index.md
+++ b/src/blog/syndamiadotcom/index.md
@@ -13,7 +13,6 @@ One of my biggest networking and front-end projects is this very website. I star
**Note**: Website versions differ mostly by **styling** and **system for managing content**.
## Contents
-<div></div>
1. [Version 1](./version1.html)
1. [Layout and navigation](./version1.html#Layout%20and%20navigation)
diff --git a/src/blog/syndamiadotcom/introduction.md b/src/blog/syndamiadotcom/introduction.md
index 0fe3ff3..64a99df 100644
--- a/src/blog/syndamiadotcom/introduction.md
+++ b/src/blog/syndamiadotcom/introduction.md
@@ -13,7 +13,6 @@ One of my biggest networking and front-end projects is this very website. I star
**Note**: Website versions differ mostly by **styling** and **system for managing content**.
## Contents
-<div></div>
1. [Version 1](./version1.html)
1. [Layout and navigation](./version1.html#Layout%20and%20navigation)
diff --git a/src/blog/syndamiadotcom/version1.md b/src/blog/syndamiadotcom/version1.md
index 6087e6a..2c5c313 100644
--- a/src/blog/syndamiadotcom/version1.md
+++ b/src/blog/syndamiadotcom/version1.md
@@ -19,7 +19,6 @@ It uses a tabbed layout with dark-themed colors. At the time, I didn't use any f
This was the **first serious website** I have ever done, so, at the time, I had only some extremely basic front-end skills and practically no knowledge for good web design.
## Contents
-<div></div>
1. [Layout and navigation](#Layout%20and%20navigation)
2. [Style overview](#Style%20overview)
@@ -27,7 +26,6 @@ This was the **first serious website** I have ever done, so, at the time, I had
4. [Why was it replaced?](#Why%20was%20it%20replaced?)
## Layout and navigation
-[![πŸ”—](/img/link-tabler.svg)](#Layout%20and%20navigation)
I based it on the text editor I was using at the time: [xed](https://github.com/linuxmint/xed) (Oblivion theme).
@@ -58,7 +56,6 @@ and to the right there is the back button, with which you could get back to the
*The back button becomes red when hovering over it*
## Style overview
-[![πŸ”—](/img/link-tabler.svg)](#Style%20overview)
The colors are also based on [xed](https://github.com/linuxmint/xed).
@@ -85,14 +82,12 @@ Tables have **hidden borders** with centered text in them. At the time, the only
![](./img/table-v1.png)
## Content management
-[![πŸ”—](/img/link-tabler.svg)](#Content%20management)
This version **didn't use any content management** of any shape or form. All pages were written in HTML **manually**.
Later in it's lifespan the **header** and **footer** were made to be **generated through (bad) `JavaScript` code**.
## Why was it replaced?
-[![πŸ”—](/img/link-tabler.svg)](#Why%20was%20it%20replaced?)
This version was discontinued for three main reasons:
diff --git a/src/blog/syndamiadotcom/version2.md b/src/blog/syndamiadotcom/version2.md
index 6efb59e..ac078bf 100644
--- a/src/blog/syndamiadotcom/version2.md
+++ b/src/blog/syndamiadotcom/version2.md
@@ -17,14 +17,12 @@
My inspiration and guide was an excellent video from [Wolfgang](https://www.youtube.com/channel/UCsnGwSIHyoYN0kiINAGUKxg) on making a [fast and minimal blog](https://www.youtube.com/watch?v=N_ttw2Dihn8).
## Contents
-<div></div>
1. [Layout and navigation](#Layout%20and%20navigation)
2. [Style overview](#Style%20overview)
3. [Content management](#Content%20management)
## Layout and navigation
-[![πŸ”—](/img/link-tabler.svg)](#Layout%20and%20navigation)
This version uses a more **traditional layout** (although similar to the previous one). In the header there are **universal links** to the main pages (*Home*, *About*, *Projects*, etc.)
@@ -53,7 +51,6 @@ Each *project/tutorial* page has some links, a bit below the title:
*Example taken from [Filters](https://www.syndamia.com/tutorials/how-to-use-jira/filters.html) page in [How to use Jira](https://www.syndamia.com/tutorials/how-to-use-jira/introduction.html)*
## Style overview
-[![πŸ”—](/img/link-tabler.svg)](#Style%20navigation)
The style resembles standard `Markdown` formatting like in `GitHub`. Text is black on white background with `Open Sans` font.
@@ -70,7 +67,6 @@ Code blocks, inline code, blockquotes and tables are taken from [sindresorhus's
![](./img/table-v2.png)
## Content management
-[![πŸ”—](/img/link-tabler.svg)](#Content%20management)
This version **doesn't** use a full-fledged **content management system**, but managing is a lot more automated.
diff --git a/src/license.md b/src/license.md
index 522e4a3..891c436 100644
--- a/src/license.md
+++ b/src/license.md
@@ -3,7 +3,7 @@
This project uses two licenses, depending on the content.
## Content
-[![πŸ”—](/img/link-tabler.svg)](#content) &emsp;
+&emsp;
<a href="https://creativecommons.org/licenses/by-sa/4.0/">
<img class="unzoomable" src="/img/cc-by-sa-small.svg">
</a>
@@ -19,7 +19,7 @@ Unless stated otherwise, all items in [Assets](/assets) also fall under this cat
Content in [Archives](/archives) **does not fall under this category, it is without license**. That is why, this content is not saved in the [GitLab repository](https://gitlab.com/Syndamia/syndamiadotcom).
## Code
-[![πŸ”—](/img/link-tabler.svg)](#code) &emsp;
+&emsp;
<a href="https://www.gnu.org/licenses/gpl-3.0.html">
<img class="unzoomable" src="./img/gnugpl.png">
</a>
@@ -31,7 +31,6 @@ Content in [Archives](/archives) **does not fall under this category, it is with
This classifies everything else that isn't content, so styling, scripts, etc.
## Contacting me
-[![πŸ”—](/img/link-tabler.svg)](#contacting-me)
For more information and required assistance with what is categorised as CONTENT and CODE, feel free to open an issue in the source repository ([gitlab.com/Syndamia/syndamadotcom/issues](https://gitlab.com/Syndamia/syndamiadotcom/issues)) or [Contact Me](/about/#contact) casually.
diff --git a/src/policies.md b/src/policies.md
index 2a96baf..e5e28cc 100644
--- a/src/policies.md
+++ b/src/policies.md
@@ -3,7 +3,6 @@
These are the fundamental ideals on top of which this website is build upon and the base rules on which it operates.
## Freedom
-[![πŸ”—](/img/link-tabler.svg)](#freedom)
I'm an avid supporter of [free software](https://www.gnu.org/philosophy/free-sw.html) and consequently, this website uses only a **limited handcrafted amount of JavaScript**.
@@ -14,12 +13,10 @@ There is **NO tracking**, **NO data collection** and **NO statistics**.
All source code is publicly available [on GitLab](https://gitlab.com/Syndamia/syndamiadotcom).
## Accessibility
-[![πŸ”—](/img/link-tabler.svg)](#accessibility)
Given the heavy stylization, all content is also available without any CSS over at [tiny.syndamia.com](https://tiny.syndamia.com).
## Licensing
-[![πŸ”—](/img/link-tabler.svg)](#licensing)
This website uses [two licenses](https://gitlab.com/Syndamia/syndamiadotcom/-/blob/master/LICENSE):
<ul id="index-list">
diff --git a/src/regarding-js.md b/src/regarding-js.md
index 43ba1c7..25bae91 100644
--- a/src/regarding-js.md
+++ b/src/regarding-js.md
@@ -5,7 +5,6 @@ On 20.02.2022 I decided to lift the "ban" on usage of JavaScript in this website
Any user data that might be saved isn't, and never will be, used for purposes not listed here. There isn't, and won't ever be, any form of tracking or data collection that isn't required for some feature (listed here).
## Implemented features
-[![πŸ”—](/img/link-tabler.svg)](#implemented-features)
|Script|Description|GitLab source|Size|Lines|
|---|---|---|---|---|
@@ -19,12 +18,10 @@ Any user data that might be saved isn't, and never will be, used for purposes no
|[presentation.js](/scripts/presentation.js)|Adds presentation styles and is used for presentation navbar|[Link](https://gitlab.com/Syndamia/syndamiadotcom/-/tree/master/src/scripts/presentation.js)|1.4KB|55|
## Data in browser storage
-[![πŸ”—](/img/link-tabler.svg)](#data-in-browser-storage)
<p></p>
### Local storage
-[![πŸ”—](/img/link-tabler.svg)](#local-storage)
|Key|Values|Description|
|---|---|---|
diff --git a/src/tutorials.md b/src/tutorials.md
index 9bf6d89..016f6a4 100644
--- a/src/tutorials.md
+++ b/src/tutorials.md
@@ -14,7 +14,6 @@ Educational articles with the sole goal of explaining technologies, processes or
: `Plan 9` `Installation` `Setup` `QEMU/KVM` `virt-manager` `Linux`
#### *2021*
-<div></div>
&&gb [How to turn off notifications on Windows](/tutorials/turn-off-notifications-windows)
: `Windows 10` `Notifications` `Settings`
@@ -32,7 +31,6 @@ Educational articles with the sole goal of explaining technologies, processes or
: `Skype` `Export` `Archive` `skype-parser`
#### *2020*
-<div></div>
&&gb [How to use Jira](/tutorials/how-to-use-jira)
: `Project Management` `Agile` `Issue tracking` `Bug tracking` `Kanban` `Jira` `Atlassian`
diff --git a/src/tutorials/connect-to-mysql-in-dotnet-ef/index.md b/src/tutorials/connect-to-mysql-in-dotnet-ef/index.md
index dfdb0c0..3a7c7d5 100644
--- a/src/tutorials/connect-to-mysql-in-dotnet-ef/index.md
+++ b/src/tutorials/connect-to-mysql-in-dotnet-ef/index.md
@@ -12,7 +12,6 @@ I have found that connecting a `.NET` application to a `MySql` database (with En
Also, [MySql.Data.EntityFrameworkCore](https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/) has been **depricated** since *October 2020*. If you need setup instructions with it, read [this](https://gitlab.com/Syndamia/syndamiadotcom/-/blob/0510e29526c6d7681587fff4c98a339e8c69e9b5/src/tutorials/connect-to-mysql-in-csharp-ef/article.md).
## Contents
-<div></div>
1. [NuGet packages](#nuget-packages)
2. [Connection string](#connection-string)
@@ -21,12 +20,10 @@ Also, [MySql.Data.EntityFrameworkCore](https://www.nuget.org/packages/MySql.Data
2. [DBContext child class](#dbcontext-child-class)
## NuGet packages
-[![πŸ”—](/img/link-tabler.svg)](#nuget-packages)
You'll need to install [Pomelo.EntityFrameworkCore.MySql](https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql/). It provides the stuff necessary for connecting and using a `MySql` database.
## Connection string
-[![πŸ”—](/img/link-tabler.svg)](#connection-string)
There are [a lot](https://www.connectionstrings.com/mysql/) of ways to setup the connection string but I've found that this one works the best:
@@ -39,7 +36,6 @@ If you are using `MySQL Workbench` and you don't know your port and id, you can
![MyServer root 127.0.0.1:3306](./img/connections.png) In this example, the user id is _root_ and the port is _3306_.
## Connecting
-[![πŸ”—](/img/link-tabler.svg)](#connecting)
To connect, you'll need to call the `UseMySql` method, either in [ASP.NET Startup](#asp.net-startup) or in a [DBContext child class](#dbcontext-child-class).
@@ -56,7 +52,6 @@ For the server version argument, create a new object of type `MySqlServerVersion
Where `CONNECTION_STRING` is a (constant) variable that contains your connection string, and 8, 0, 21 are the version numbers.
### ASP.NET Startup
-[![πŸ”—](/img/link-tabler.svg)](#asp.net-startup)
For `ASP.NET` applications, the connection must be put inside the `ConfigureServices` method of the `Startup.cs` file. If you already have a `.UseSQL` method call in there, just replace it with your `.UseMySql` method and arguments.
@@ -74,7 +69,6 @@ The result should look something along the lines of:
<p></p>
### DBContext child class
-[![πŸ”—](/img/link-tabler.svg)](#dbcontext-child-class)
Another way to connect is via a `DBContext` child class (so, inside your own DB context). Just, override the `OnConfiguring` method and call the `.UseMySql` method from the `optionsBuilder` parameter.
diff --git a/src/tutorials/export-skype/index.md b/src/tutorials/export-skype/index.md
index 81a7a5b..fa6f287 100644
--- a/src/tutorials/export-skype/index.md
+++ b/src/tutorials/export-skype/index.md
@@ -9,14 +9,12 @@
Skype has always allowed to export your chat history (and files), but it's not as straight forward as it should. Continue reading for the required steps on doing it.
## Contents
-<div></div>
1. [Downloading files](#downloading-files)
2. [Viewing your export - Official Tool](#viewing-your-export---official-tool)
3. [Viewing your export - ArtemVeremienko Fork](#viewing-your-export---artemveremienko-fork)
## Downloading files
-[![πŸ”—](/img/link-tabler.svg)](#downloading-files)
1. Open [secure.skype.com/en/data-export](https://secure.skype.com/en/data-export)
- You could be asked to sign in. After signing in you'll need to *open the link again*, since you would be redirected to the wrong place.
@@ -37,7 +35,6 @@ Skype has always allowed to export your chat history (and files), but it's not a
Your export will be downloaded as a `.tar` archive file. You'll need an archiver utility to extract the files, something like [WinRAR](https://www.rarlab.com/download.htm) or [7-Zip](https://www.7-zip.org/) *(I personally recommend 7-Zip, it is completely free (no need to worry about your [infinite trial](https://youtu.be/fTgZRVVr3_Y)) and works faster)*.
## Viewing your export - Official Tool
-[![πŸ”—](/img/link-tabler.svg)](#viewing-your-export---official-tool)
1. Extract your archive
2. Open the [Skype Parser Download](https://go.skype.com/skype-parser), which will prompt you to save `skype-parser.zip`
@@ -57,7 +54,6 @@ There is only one issue with this method - the official tool is somewhat broken.
The fix is using an alternative to the official tool.
## Viewing your export - ArtemVeremienko Fork
-[![πŸ”—](/img/link-tabler.svg)](#viewing-your-export---artemveremienko-fork)
[ArtemVeremienko](https://github.com/ArtemVeremienko) is a GitHub user that took the official parser and fixed it. Their source code can be found over at [github.com/ArtemVeremienko/skype-parser](https://github.com/ArtemVeremienko/skype-parser).
diff --git a/src/tutorials/how-to-encrypt-email/index.md b/src/tutorials/how-to-encrypt-email/index.md
index 0b1d957..0fe206a 100644
--- a/src/tutorials/how-to-encrypt-email/index.md
+++ b/src/tutorials/how-to-encrypt-email/index.md
@@ -11,7 +11,6 @@ In [this](/blog/encrypted-email) blog post I shared the most common technologies
These are all the steps required to go from having no encryption, to encrypting all of your future emails.
## Contents
-<div></div>
1. [Getting keys](#getting-keys)
1. [PGP](#pgp)
@@ -22,22 +21,18 @@ These are all the steps required to go from having no encryption, to encrypting
3. [Configuring clients](#configuring-clients)
## Getting keys
-[![πŸ”—](/img/link-tabler.svg)](#getting-keys)
PGP and S/MIME are both built upon [public-key cryptography](https://en.wikipedia.org/wiki/Public-key_cryptography) so you and all of your recipients need to have a pair of public and private keys.
### PGP
-[![πŸ”—](/img/link-tabler.svg)](#pgp)
As [discussed](/blog/encrypted-email/#pgp), PGP relies on a [web of trust](https://en.wikipedia.org/wiki/Web_of_trust), meaning you can generate your keys by yourself.
#### pgptool.org
-[![πŸ”—](/img/link-tabler.svg)](#pgptool.org)
By far, the easiest way to do this is via the website [pgptool.org](https://pgptool.org/). Just open the link, fill out your details, select the recommended values (select never as your expiration time) and wait a couple minutes. After they are done, you can click the two red buttons to download your public and private keys.
#### GNU Privacy Guard
-[![πŸ”—](/img/link-tabler.svg)](#gnu-privacy-guard)
As an alternative, you can use a desktop program. The most popular one is [GNU Privacy Guard](https://www.gnupg.org/) (GPG for short). It is [available](https://gnupg.org/download/#binary) on most desktop operating systems, including [Windows](https://gpg4win.org/download.html) and [MacOS](https://gpgtools.org/).
@@ -68,19 +63,16 @@ On *Linux* and *MacOS*, you can use the command line:
```
### S/MIME
-[![πŸ”—](/img/link-tabler.svg)](#smime)
Contrary to PGP, S/MIME relies on a certificate authority, meaning you'll have to buy your keys from someone. Any provider from [Google](https://support.google.com/a/answer/7448393?hl=en&ref_topic=9061730)'s list of trusted CAs will work.
Currently, the only one that provides free certificates is [Actalis](https://www.actalis.com/s-mime-certificates.aspx). Their process is pretty straight forward, just follow the instructions (shown in [this](https://www.dannyguo.com/blog/how-to-get-a-free-s-mime-certificate/) article).
## Exchanging keys
-[![πŸ”—](/img/link-tabler.svg)](#exchanging-keys)
You should now have a text file with your public key in it. When you want to send an encrypted email to someone, ask them for their public key, and meanwhile send them your private key. It doesn't matter how you do that, even if it's with unencrypted emails.
## Configuring clients
-[![πŸ”—](/img/link-tabler.svg)](#configuring-clients)
Now we need to configure your email application to automatically encrypt and decrypt messages. There are a lot of email clients, so I have compiled the most used ones and linked resources on how to set them up.
diff --git a/src/tutorials/how-to-use-jira/cards.md b/src/tutorials/how-to-use-jira/cards.md
index 791b94d..453e9d1 100644
--- a/src/tutorials/how-to-use-jira/cards.md
+++ b/src/tutorials/how-to-use-jira/cards.md
@@ -13,7 +13,6 @@
![](./img/kanban-cards.png)
## Contents
-<div></div>
1. [Properties](#properties)
2. [Creating](#creating)
@@ -25,7 +24,6 @@
4. [Basic issue information](#basic-issue-information)
## Properties
-[![πŸ”—](/img/link-tabler.svg)](#properties)
Each card has the following properties:
@@ -74,14 +72,12 @@ Each card has the following properties:
![](./img/epic-link-create-card.png)
## Creating
-[![πŸ”—](/img/link-tabler.svg)](#creating)
To create a card yourself, you need to **press the `Create` button on the top bar**.
![](./img/create-header.png)
## Viewing
-[![πŸ”—](/img/link-tabler.svg)](#viewing)
**All** cards (issues) can be viewed from a [project](./projects.html)'s side menu, under 'Issues'.
@@ -90,7 +86,6 @@ To create a card yourself, you need to **press the `Create` button on the top ba
Of course, they can also be viewed through **[filters](./filters.html)** and a **[project](./projects.html)'s board**.
## How to use
-[![πŸ”—](/img/link-tabler.svg)](#how-to-use)
By default, opening a card presents, at the top, it's **key** (think of it as an ID),
@@ -121,7 +116,6 @@ and **work logs** (a bit later we talk about them in more detail).
![](./img/activity-work-log.png)
### Right side
-[![πŸ”—](/img/link-tabler.svg)](#right-side)
To the right side, you have all of the different **properties** (some fields without a value will be hidden).
@@ -138,7 +132,6 @@ On the top right you can change **watch options** ([watching an issue](https://w
The most notable options are [`Log work`](https://confluence.atlassian.com/jirasoftwarecloud/logging-work-on-issues-902499028.html) and `Add flag`.
### Work log
-[![πŸ”—](/img/link-tabler.svg)](#work-log)
In Jira, you can **estimate how long an issue will take for it to be resolved**. This is done through **logging work**.
@@ -149,14 +142,12 @@ In the `Log work` screen, you'll be met with a `Time spent` and `Time remaining`
The time remaining takes a **default** value from the **previous time log**, so you don't need to specify it every time.
### Issue flagging
-[![πŸ”—](/img/link-tabler.svg)](#issue-flagging)
A **flagged issue** is an issue that is very important. Flagged issues are displayed in yellow to signify their needed attention.
![](./img/flagged-card.png)
### Basic issue information
-[![πŸ”—](/img/link-tabler.svg)](#basic-issue-information)
On the bottom right you can see **when the issue was created** and **when it was last updated**. You can also access the field configuration menu from the `Configure` button. It won't be covered in this tutorial, you can read about it [here](https://confluence.atlassian.com/adminjiracloud/changing-a-field-configuration-844500798.html).
diff --git a/src/tutorials/how-to-use-jira/components.md b/src/tutorials/how-to-use-jira/components.md
index aa2f565..bccb020 100644
--- a/src/tutorials/how-to-use-jira/components.md
+++ b/src/tutorials/how-to-use-jira/components.md
@@ -11,13 +11,11 @@
Components are **yet another way to group issues together**. They don't have any specific meaning like versions, their usage depends on the project's organisation.
## Contents
-<div></div>
1. [Creating and editing](#creating-and-editing)
2. [Adding issues](#adding-issues)
## Creating and editing
-[![πŸ”—](/img/link-tabler.svg)](#creating-and-editing)
Creating and editing them is done from the **`Components` menu in the sidebar**.
@@ -36,7 +34,6 @@ Clicking on it presents you with a screen where you input it's information.
**A name is the only requirement**. You can also add a **description**, **a lead(er) for the component** and **person who gets assigned to an issue by default**.
## Adding issues
-[![πŸ”—](/img/link-tabler.svg)](#adding-issues)
Adding an issue to a component can be done either **when creating it** or **when viewing it**.
diff --git a/src/tutorials/how-to-use-jira/dashboards.md b/src/tutorials/how-to-use-jira/dashboards.md
index 7d95aff..781c8d4 100644
--- a/src/tutorials/how-to-use-jira/dashboards.md
+++ b/src/tutorials/how-to-use-jira/dashboards.md
@@ -19,13 +19,11 @@ Dashboards are composed of **gadgets**.
Gadgets have functionality for **displaying certain information**, like `Average Age Chart` or `Issues in progress`. Each gadget can be setup to **take information from one or more projects and/or saved filters**.
## Contents
-<div></div>
1. [Adding a dashboard](#adding-a-dashboard)
2. [Adding gadgets](#adding-gadgets)
## Adding a dashboard
-[![πŸ”—](/img/link-tabler.svg)](#adding-a-dashboard)
Dashboard can be added from the top bar, under `Create dashboard` in the `Dashboards` menu
@@ -36,7 +34,6 @@ or, if you are already in a dashboard, from `Create dashboard` in the three dots
![](./img/create-dashboard-dots.png)
## Adding gadgets
-[![πŸ”—](/img/link-tabler.svg)](#adding-gadgets)
**Note**: you cannot add gadgets to the default dashboard.
diff --git a/src/tutorials/how-to-use-jira/filters.md b/src/tutorials/how-to-use-jira/filters.md
index 090f5f8..009a3ae 100644
--- a/src/tutorials/how-to-use-jira/filters.md
+++ b/src/tutorials/how-to-use-jira/filters.md
@@ -15,13 +15,11 @@ Making filters is done through the `Advanced issue search` page, from the `Filte
![](./img/filters-advanced-issue-search.png)
## Contents
-<div></div>
1. [Criteria](#Criteria)
2. [JQL](#JQL)
## Criteria
-[![πŸ”—](/img/link-tabler.svg)](#Criteria)
From here you can see some criteria: `Project`, `Type`, `Status`, `Assignee`.
@@ -41,7 +39,6 @@ You can view all of your filters from the conveniently named `View all filters`
![](./img/view-all-filters-advanced-issue-search.png)
## JQL
-[![πŸ”—](/img/link-tabler.svg)](#JQL)
You can do **more advanced search** through `JQL` (Jira Query Language), but we won't be covering this topic. I can recommend [this article](https://www.atlassian.com/blog/jira-software/jql-the-most-flexible-way-to-search-jira-14) on the subject.
diff --git a/src/tutorials/how-to-use-jira/index.md b/src/tutorials/how-to-use-jira/index.md
index b578686..f773ed8 100644
--- a/src/tutorials/how-to-use-jira/index.md
+++ b/src/tutorials/how-to-use-jira/index.md
@@ -15,7 +15,6 @@ It has a lot of features that can be quite overwhelming for new comers, especial
**Note**: certain actions can be done only from a project administrator
## Contents
-[![πŸ”—](/img/link-tabler.svg)](#contents)
1. [Filters](./filters.html)
1. [Criteria](./filters.html#criteria)
diff --git a/src/tutorials/how-to-use-jira/introduction.md b/src/tutorials/how-to-use-jira/introduction.md
index b578686..f773ed8 100644
--- a/src/tutorials/how-to-use-jira/introduction.md
+++ b/src/tutorials/how-to-use-jira/introduction.md
@@ -15,7 +15,6 @@ It has a lot of features that can be quite overwhelming for new comers, especial
**Note**: certain actions can be done only from a project administrator
## Contents
-[![πŸ”—](/img/link-tabler.svg)](#contents)
1. [Filters](./filters.html)
1. [Criteria](./filters.html#criteria)
diff --git a/src/tutorials/how-to-use-jira/kanban.md b/src/tutorials/how-to-use-jira/kanban.md
index c2f6148..bea5a41 100644
--- a/src/tutorials/how-to-use-jira/kanban.md
+++ b/src/tutorials/how-to-use-jira/kanban.md
@@ -15,13 +15,11 @@ In a projects that uses the kanban template, boards can access directly all of t
This tutorial focuses on the basics, but you can find a lot of information in [these sets of articles](https://www.atlassian.com/agile/kanban) from Atlassian.
## Contents
-<div></div>
1. [Create board](#create-board)
2. [Backlog](#backlog)
## Create board
-[![πŸ”—](/img/link-tabler.svg)](#create-board)
This template can be chosen when **creating a project**
@@ -32,7 +30,6 @@ and **from the `Create board` screen**.
![](./img/scrum-kanban-board.png)
## Backlog
-[![πŸ”—](/img/link-tabler.svg)](#backlog)
In kanban, **the backlog is just another column in your board(s)**. It can be removed entirely.
diff --git a/src/tutorials/how-to-use-jira/projects.md b/src/tutorials/how-to-use-jira/projects.md
index 1332e8d..63b03d0 100644
--- a/src/tutorials/how-to-use-jira/projects.md
+++ b/src/tutorials/how-to-use-jira/projects.md
@@ -13,7 +13,6 @@
In short, **projects are a collection of issues** with added functionality for **organising them, getting statistics, etc**.
## Contents
-<div></div>
1. [Creating a project](#creating-a-project)
2. [Boards](#boards)
@@ -23,7 +22,6 @@ In short, **projects are a collection of issues** with added functionality for *
4. [Add item](#add-item)
## Creating a project
-[![πŸ”—](/img/link-tabler.svg)](#creating-a-project)
To create a project, either **click on `Create project` from the menu `Projects` in the top bar**,
@@ -54,12 +52,10 @@ In a nutshell, **templates** govern how **boards and issues should work together
Projects also have [Releases](./releases.html), [Pages](./pages.html) and [Components](./components.html), that are also explored.
## Boards
-[![πŸ”—](/img/link-tabler.svg)](#boards)
Each project contains, amongst many other things, boards. **Boards are a way to better organise results from [filters](./filters.html)**. By default every project gets a board with a filter for all of the project's issues.
### Columns
-[![πŸ”—](/img/link-tabler.svg)](#columns)
**Boards are divided into columns** that contain the cards (issues). A card can move **freely** from one column to another.
@@ -80,7 +76,6 @@ Adding and removing columns can be done from the `Columns` tab in the `Board set
![](./img/columns-edit.png)
### Adding more boards to a project
-[![πŸ”—](/img/link-tabler.svg)](#adding-more-boards-to-a-project)
You can also add to a project as many [**Scrum**](./scrum.html) and [**Kanban**](./kanban.html) templated boards as you want.
@@ -113,7 +108,6 @@ Once you've made your choice, you will be met with three options:
![](./img/ntb-filter.png)
## Backlog
-[![πŸ”—](/img/link-tabler.svg)](#backlog)
**The backlog is a place for issues that outline a general task/feature**.
@@ -130,7 +124,6 @@ or **nonexistent ([bug tracking](./bug.md))**.
The purpose of the backlog depends on the template and it is described in the page of each template.
## Add item
-[![πŸ”—](/img/link-tabler.svg)](#add-item)
**You can also add some resources to the sidebar of your project** for everyone to use. That is done through the `Add Item` menu.
diff --git a/src/tutorials/how-to-use-jira/releases.md b/src/tutorials/how-to-use-jira/releases.md
index 19c5841..cd52476 100644
--- a/src/tutorials/how-to-use-jira/releases.md
+++ b/src/tutorials/how-to-use-jira/releases.md
@@ -13,7 +13,6 @@ The `Releases` page in a project shows **versions**, the ones in development and
**Versions are just a big collection of issues** and the **goal of a released version** is for **all of it's issues to be resolved**. It serves as a point in time for the development of a project.
## Adding issues to a version
-[![πŸ”—](/img/link-tabler.svg)](#adding-issues-to-a-version)
When creating an issue, you can specify a version in the `Fix versions` property.
diff --git a/src/tutorials/how-to-use-jira/scrum.md b/src/tutorials/how-to-use-jira/scrum.md
index 6381d9e..3c49b71 100644
--- a/src/tutorials/how-to-use-jira/scrum.md
+++ b/src/tutorials/how-to-use-jira/scrum.md
@@ -17,14 +17,12 @@ In general [agile software development](https://www.atlassian.com/agile), a **sp
Your **boards only work on the issues of the currently active sprint**.
## Contents
-<div></div>
1. [Backlog](#backlog)
2. [Boards and Issues](#boards-and-issues)
3. [Create board](#create-board)
## Backlog
-[![πŸ”—](/img/link-tabler.svg)](#backlog)
As we've discussed, the **backlog** is used for organising **all issues** into **sprints**.
@@ -39,14 +37,12 @@ Creating a sprint is done from the conveniently named `Create sprint` button. It
![](./img/sample-sprint.png)
## Boards and Issues
-[![πŸ”—](/img/link-tabler.svg)](#boards-and-issues)
As previously mentioned, boards have access only to the issues in the active sprint. This is also reflected in the user interface. After selecting a board from the sidebar, you view it from the `Active sprints` page.
![](./img/active-sprints.png)
## Create board
-[![πŸ”—](/img/link-tabler.svg)](#create-board)
This template can be chosen when **creating a project**
diff --git a/src/tutorials/index.md b/src/tutorials/index.md
index 9bf6d89..016f6a4 100644
--- a/src/tutorials/index.md
+++ b/src/tutorials/index.md
@@ -14,7 +14,6 @@ Educational articles with the sole goal of explaining technologies, processes or
: `Plan 9` `Installation` `Setup` `QEMU/KVM` `virt-manager` `Linux`
#### *2021*
-<div></div>
&&gb [How to turn off notifications on Windows](/tutorials/turn-off-notifications-windows)
: `Windows 10` `Notifications` `Settings`
@@ -32,7 +31,6 @@ Educational articles with the sole goal of explaining technologies, processes or
: `Skype` `Export` `Archive` `skype-parser`
#### *2020*
-<div></div>
&&gb [How to use Jira](/tutorials/how-to-use-jira)
: `Project Management` `Agile` `Issue tracking` `Bug tracking` `Kanban` `Jira` `Atlassian`
diff --git a/src/tutorials/install-plan9-with-virt-manager/index.md b/src/tutorials/install-plan9-with-virt-manager/index.md
index 7f58562..771db6f 100644
--- a/src/tutorials/install-plan9-with-virt-manager/index.md
+++ b/src/tutorials/install-plan9-with-virt-manager/index.md
@@ -9,13 +9,11 @@
Installing [Plan 9 by Bell Labs](https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs) with `qemu` itself isn't difficult and there are [official instructions](https://9p.io/wiki/plan9/Installing_Plan_9_on_Qemu/). However, when using `virt-manager`, there are certain uncertainties that might worry a first-timer and certain issues that arise.
## Contents
-<div></div>
1. [Creating the virtual machine](#creating-the-virtual-machine)
2. [Installing Plan 9 itself](#installing-plan-9-itself)
## Creating the virtual machine
-[![πŸ”—](/img/link-tabler.svg)](#creating-the-virtual-machine)
We'll be installing Plan 9 with a CD (ISO) image. You can download the latest version (compiled every night) from [here](https://9p.io/plan9/download.html). For a compressed version and checksums, refer to [this page](https://9p.io/wiki/plan9/Download/index.html).
@@ -32,7 +30,6 @@ We'll be installing Plan 9 with a CD (ISO) image. You can download the latest ve
5. Finally click finish.
## Installing Plan 9 itself
-[![πŸ”—](/img/link-tabler.svg)](#installing-plan-9-itself)
If everything worked correctly, on boot you should see the screen in step 1.
From here on out, it's dead simple, and I even recommend just going through [Hatty Hacker's "Basic Plan 9 Installation" YouTube video](https://www.youtube.com/watch?v=NNWFTq0ZwLE).
diff --git a/src/tutorials/windows-run-dialog/index.md b/src/tutorials/windows-run-dialog/index.md
index 03e8dbd..bf1f85d 100644
--- a/src/tutorials/windows-run-dialog/index.md
+++ b/src/tutorials/windows-run-dialog/index.md
@@ -9,7 +9,6 @@
On Windows, most often you run an application by finding and double-clicking it's `.exe` file. What a lot of people don't realise is that you can launch any application or open any file you want by typing a single command. That can be achieved inside the **Run dialog**.
## Contents
-<div></div>
1. [Opening the Run dialog](#opening-the-run-dialog)
2. [Commands](#commands)
@@ -20,7 +19,6 @@ On Windows, most often you run an application by finding and double-clicking it'
## Opening the Run dialog
-[![πŸ”—](/img/link-tabler.svg)](#opening-the-run-dialog)
To open the Run dialog, you can either:
@@ -33,12 +31,10 @@ or
![](./img/open-run-windows-menu.png)
## Commands
-[![πŸ”—](/img/link-tabler.svg)](#commands)
![](./img/run-dialog.png)
### Folders
-[![πŸ”—](/img/link-tabler.svg)](#folders)
You can open any folder by typing in it's **full path**. So, if you have a folder named `Work` inside your `Documents` folder, the full path will be something like `C:\Users\John\Documents\Work\`.
@@ -54,7 +50,6 @@ There are, of course, some more special location, some of which are:
**Bonus**: `%appdata%\Microsoft\Windows\Start Menu` will open the Start Menu folder, from which you can edit what goes inside your start menu.
### Programs
-[![πŸ”—](/img/link-tabler.svg)](#programs)
You can always run any application by typing in it's full path. So, to launch something like FireFox, you'll need to type in `C:\Program Files\Mozilla Firefox\firefox.exe`.
@@ -94,7 +89,6 @@ But, whats more important is that you can more easily launch some Windows apps,
- `/f` forces running applications to close (might result in data loss!)
### Windows settings
-[![πŸ”—](/img/link-tabler.svg)](#windows-settings)
There are also many "shortcuts" to different Windows settings windows. Those include:
@@ -123,6 +117,5 @@ There are also many "shortcuts" to different Windows settings windows. Those inc
**Note**: `cpl` stands for *Control Panel Item* and `msc` stands for *Microsoft System Configuration*.
## For more
-[![πŸ”—](/img/link-tabler.svg)](#for-more)
For more commands, check out [windowsruncommands.com](https://windowsruncommands.com/). They have a much bigger list of commands and shortcuts you can use.