diff options
Fully reworked website design. Remade pages in markdown. Configured files to work with ssg5.
56 files changed, 539 insertions, 1347 deletions
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | TODO.md | 33 | ||||
| -rw-r--r-- | src/_footer.html | 30 | ||||
| -rw-r--r-- | src/_header.html | 24 | ||||
| -rw-r--r-- | src/about.md | 10 | ||||
| -rw-r--r-- | src/blog.md | 1 | ||||
| -rw-r--r-- | src/contact.md | 8 | ||||
| -rw-r--r-- | src/credit.md | 8 | ||||
| -rw-r--r-- | src/img/favicon.png (renamed from website/img/favicon.png) | bin | 4339 -> 4339 bytes | |||
| -rw-r--r-- | src/img/logos/github.png (renamed from website/img/logos/github.png) | bin | 636 -> 636 bytes | |||
| -rw-r--r-- | src/img/logos/linkedin.png (renamed from website/img/logos/linkedin.png) | bin | 532 -> 532 bytes | |||
| -rw-r--r-- | src/img/logos/stackoverflow.png (renamed from website/img/logos/stackoverflow.png) | bin | 647 -> 647 bytes | |||
| -rw-r--r-- | src/index.md | 8 | ||||
| -rw-r--r-- | src/projects.md | 7 | ||||
| -rw-r--r-- | src/projects/mundus/basic-concepts.md | 82 | ||||
| -rw-r--r-- | src/projects/mundus/history.md | 24 | ||||
| -rw-r--r-- | src/projects/mundus/img/crafting-window.png (renamed from website/projects/mundus/img/crafting-window.png) | bin | 11154 -> 11154 bytes | |||
| -rw-r--r-- | src/projects/mundus/img/create-new-game.png (renamed from website/projects/mundus/img/create-new-game.png) | bin | 22621 -> 22621 bytes | |||
| -rw-r--r-- | src/projects/mundus/img/inventory-menu.png (renamed from website/projects/mundus/img/inventory-menu.png) | bin | 2005727 -> 2005727 bytes | |||
| -rw-r--r-- | src/projects/mundus/img/main-screen.png (renamed from website/projects/mundus/img/main-screen.png) | bin | 11826 -> 11826 bytes | |||
| -rw-r--r-- | src/projects/mundus/img/map-menu.png (renamed from website/projects/mundus/img/map-menu.png) | bin | 2008267 -> 2008267 bytes | |||
| -rw-r--r-- | src/projects/mundus/img/small-game-window.png (renamed from website/projects/mundus/img/small-game-window.png) | bin | 1181600 -> 1181600 bytes | |||
| -rw-r--r-- | src/projects/mundus/introduction.md | 35 | ||||
| -rw-r--r-- | src/projects/mundus/user-interface.md | 104 | ||||
| -rw-r--r-- | src/resume.md | 15 | ||||
| -rw-r--r-- | src/robots.txt (renamed from website/robots.txt) | 0 | ||||
| -rw-r--r-- | src/styles.css | 83 | ||||
| -rw-r--r-- | src/tutorials.md | 7 | ||||
| -rw-r--r-- | src/tutorials/connect-to-mysql-in-csharp-ef/connecting.md | 53 | ||||
| -rw-r--r-- | src/tutorials/connect-to-mysql-in-csharp-ef/img/connections.png (renamed from website/tutorials/connect-to-mysql-in-csharp-ef/img/connections.png) | bin | 10067 -> 10067 bytes | |||
| -rw-r--r-- | src/tutorials/connect-to-mysql-in-csharp-ef/introduction.md | 19 | ||||
| -rw-r--r-- | src/tutorials/connect-to-mysql-in-csharp-ef/preparation.md | 20 | ||||
| -rw-r--r-- | syndamiadotcom | 24 | ||||
| -rw-r--r-- | website/about.html | 45 | ||||
| -rw-r--r-- | website/blog.html | 31 | ||||
| -rw-r--r-- | website/contact.html | 57 | ||||
| -rw-r--r-- | website/credit.html | 38 | ||||
| -rw-r--r-- | website/css/styles-multiple-page-articles.css | 38 | ||||
| -rw-r--r-- | website/css/styles.css | 152 | ||||
| -rw-r--r-- | website/img/logos/twitter.png | bin | 747 -> 0 bytes | |||
| -rw-r--r-- | website/img/ui/close.png | bin | 4339 -> 0 bytes | |||
| -rw-r--r-- | website/img/ui/close.xcf | bin | 4859 -> 0 bytes | |||
| -rw-r--r-- | website/index.html | 50 | ||||
| -rw-r--r-- | website/js/footer.js | 32 | ||||
| -rw-r--r-- | website/js/header.js | 75 | ||||
| -rw-r--r-- | website/projects.html | 58 | ||||
| -rw-r--r-- | website/projects/mundus/basic-concepts.html | 95 | ||||
| -rw-r--r-- | website/projects/mundus/history.html | 56 | ||||
| -rw-r--r-- | website/projects/mundus/introduction.html | 51 | ||||
| -rw-r--r-- | website/projects/mundus/user-interface.html | 98 | ||||
| -rw-r--r-- | website/resume.html | 106 | ||||
| -rw-r--r-- | website/sitemap.xml | 92 | ||||
| -rw-r--r-- | website/tutorials.html | 51 | ||||
| -rw-r--r-- | website/tutorials/connect-to-mysql-in-csharp-ef/connecting.html | 81 | ||||
| -rw-r--r-- | website/tutorials/connect-to-mysql-in-csharp-ef/introduction.html | 41 | ||||
| -rw-r--r-- | website/tutorials/connect-to-mysql-in-csharp-ef/preparation.html | 43 |
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a41be3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +dst/ diff --git a/TODO.md b/TODO.md deleted file mode 100644 index e718f3d..0000000 --- a/TODO.md +++ /dev/null @@ -1,33 +0,0 @@ -~~Title attributes~~ - -~~Class names in quotation marks~~ - -~~Add sizes of images~~ - -~~Meta tags~~ - -~~Links of project in projects folder~~ - -~~Fix history of Mundus project~~ - -Back to top? - -~~Change titles on pages~~ - -~~Linkedin account~~ - -~~Twitter~~ - -~~HTTPS~~ - -syndamiadotcom project articles - -Rework Mundus project articles - -Bitspace articles - -Chopsticks articles - -Who wants to become a millionare - Africa (BG) articles - -School Projects project articles (certain projects for school get an article)? diff --git a/src/_footer.html b/src/_footer.html new file mode 100644 index 0000000..5bdc5d5 --- /dev/null +++ b/src/_footer.html @@ -0,0 +1,30 @@ + </article> + + <nav class="footer"> + <table class="centered"> + + <tr> + <td> + <a href="https://github.com/Syndamia" target="_blank" class="link-tab" title="GitHub"><img src="./img/logos/github.png" alt="GitHub" width="32" height="32"></a> + <a href="https://stackoverflow.com/users/12036073/syndamia" target="_blank" class="link-tab" title="StackOverflow"><img src="./img/logos/stackoverflow.png" alt="StackOverflow" width="32" height="32"></a> + <a href="https://bg.linkedin.com/in/kamen-mladenov-18563b1a3?trk=people-guest_people_search-card" target="_blank" class="link-tab" title="Linkedin"><img src="./img/logos/linkedin.png" alt="Linkedin" width="32" height="32"></a> + </td> + + <td>||</td> + + <td> + <a href="https://github.com/Syndamia/syndamiadotcom/blob/master/LICENSE" target="_blank" class="link-tab">Website License</a> + <a href="/credit.html" target="_blank" class="link-tab">Credit</a> + </td> + </tr> + + <tr> + <td colspan="3"> + <a href="https://www.romanzolotarev.com/ssg.html" target="_blank" class="link-tab">Created with ssg by Roman Zolotarev</a> + </td> + </tr> + </table> + </nav> +</body> + +</html> diff --git a/src/_header.html b/src/_header.html new file mode 100644 index 0000000..d613740 --- /dev/null +++ b/src/_header.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta name="author" content="Kamen Mladenov"> + <meta name="robots" content="index, follow"> + <link rel="icon" href="/img/favicon.png" type="image/png"> + <link rel="shortcut icon" href="./img/favicon.png" type="image/png"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <link rel="stylesheet" href="/styles.css"> +</head> +<body> + <nav class="header"> + <a href="/tutorials.html" class="link-tab">Tutorials</a> + <a href="/projects.html" class="link-tab">Projects</a> + <a href="/blog.html" class="link-tab">Blog</a> || + <a href="/index.html" class="link-tab">Home</a> || + <a href="/about.html" class="link-tab">About</a> + <a href="/contact.html" class="link-tab">Contact</a> + <a href="/resume.html" class="link-tab">Resume</a> + </nav> + + <article> diff --git a/src/about.md b/src/about.md new file mode 100644 index 0000000..077fd10 --- /dev/null +++ b/src/about.md @@ -0,0 +1,10 @@ +## Hello! + +My name is Kamen. I am 18 years old and I was raised in and live in Bulgaria. + +Ever since I was a kid, computers were my interest. I tinkered with any program I can find on my grandmother's old laptop, I even fully disassembled and assembled different old laptops (and they worked). + +It took me quite some time, until a course in 2018, when I started seriously learning programming. In the beginning I wasn't that good, but I took it upon myself to work as hard as I could. I did most exercises that the teachers gave us and got excellent scores in all exams. + +Ever since then, programming has been my passion and obsession. Everything from back-end to front-end to operating systems is really interesting to me and I am trying to learn it as much as I can. + diff --git a/src/blog.md b/src/blog.md new file mode 100644 index 0000000..c44fcf0 --- /dev/null +++ b/src/blog.md @@ -0,0 +1 @@ +[COMING SOON] diff --git a/src/contact.md b/src/contact.md new file mode 100644 index 0000000..032aa07 --- /dev/null +++ b/src/contact.md @@ -0,0 +1,8 @@ +## Social media + +[](https://bg.linkedin.com/in/kamen-mladenov-18563b1a3?trk=people-guest_people_search-card) + +## Email + +Official email: [kamen.d.mladenov@protonmail.com](mailto:kamen.d.mladenov@protonmail.com) + diff --git a/src/credit.md b/src/credit.md new file mode 100644 index 0000000..4a299f1 --- /dev/null +++ b/src/credit.md @@ -0,0 +1,8 @@ +## This page is for crediting creators, whose stuff I use in this website + +[GitHub Logo Icon](https://iconscout.com/icons/github) by [Roundicons.com](https://iconscout.com/contributors/roundicons-com)ass="hyper + +[StackOverflow Logo Icon](https://iconscout.com/icons/stackoverflow) by [Alex Doreau](https://iconscout.com/contributors/alexis-doreau) + +[LinkedIn Icon](https://iconscout.com/icons/linkedin) on [Iconscout](https://iconscout.com) + diff --git a/website/img/favicon.png b/src/img/favicon.png Binary files differindex 5104a43..5104a43 100644 --- a/website/img/favicon.png +++ b/src/img/favicon.png diff --git a/website/img/logos/github.png b/src/img/logos/github.png Binary files differindex bc7497a..bc7497a 100644 --- a/website/img/logos/github.png +++ b/src/img/logos/github.png diff --git a/website/img/logos/linkedin.png b/src/img/logos/linkedin.png Binary files differindex 171af03..171af03 100644 --- a/website/img/logos/linkedin.png +++ b/src/img/logos/linkedin.png diff --git a/website/img/logos/stackoverflow.png b/src/img/logos/stackoverflow.png Binary files differindex 9bbfb89..9bbfb89 100644 --- a/website/img/logos/stackoverflow.png +++ b/src/img/logos/stackoverflow.png diff --git a/src/index.md b/src/index.md new file mode 100644 index 0000000..be0c571 --- /dev/null +++ b/src/index.md @@ -0,0 +1,8 @@ +# Welcome +--- + +My name is Kamen Mladenov and I am a programming student. + +As of now, I am most comfortable with backend development and desktop applications. + +Here I will share programming knowledge as well as information about myself and my coding adventures. diff --git a/src/projects.md b/src/projects.md new file mode 100644 index 0000000..7485e26 --- /dev/null +++ b/src/projects.md @@ -0,0 +1,7 @@ + +|Name|Link| +|---|---| +|[Mundus](/projects/mundus/introduction.html)|[](https://github.com/Syndamia/Mundus)| +|syndamiadotcom [COMING SOON]|[](https://github.com/Syndamia/syndamiadotcom)| +|Bitspace [COMING SOON]|[](https://github.com/Syndamia/Shower)| + diff --git a/src/projects/mundus/basic-concepts.md b/src/projects/mundus/basic-concepts.md new file mode 100644 index 0000000..23b5dfd --- /dev/null +++ b/src/projects/mundus/basic-concepts.md @@ -0,0 +1,82 @@ +# Mundus - Basic Concepts + +**Article Created: 21 May 2020** || **Last Edited: 21 July 2020** + +[\< User Interface](./user-interface.html) + +--- + +Despite the fact that I tried my best to make the game as intuitive as possible, there are things you need to understand about how it works. + +## Tiles + +The ingame world (map) is composed of squares, called **tiles**, everything is a type of tile. The main purpose of tiles is to hold textures (amongst other important information). There are two main categories of tiles: items and mobs. Mobs (mobile object for short) are the creatures in the game. On the contrary, items are everything else, from the tools, to the trees. + +There is only one type of **mob tile** and that is **MobTiles**. + +All mobs have a couple of properties: + +- **health** (if it drops to or below 0, they die) + +- **defence** (reduces or completely negates certain amounts of damage) + +- **inventory** + +- **random movement qualifier** (used for random movement around the world) + +- **item that is dropped upon death** (health <= 0) + +- **the superlayer they are currenly in** + +**Items**, however, are divided into: + +- **Material tiles** are primarly used for crafting. Some tools are "consumable", meaning they can be consumed by the mob, which removes them from the inventory and changes the value of some property. In your inventory they are surrounded in oringe. + +- **Gear tiles** are something you equip (in your accessories and gear inventories) that boost your stats. In your inventory they are surrounded in purple. + +- **Ground tiles** are the tiles on the superlayer ground. For example, grass, water, sand are all ground tiles, because structures and mobs will be walking on top of them. + +- **Structure tiles** are tiles that can be placed in the world. For example, a tree is a type of structure tile. Some of them can be picked up. For example, a ladder is something you can have in your inventory, but something you can also place. They have a health and a dropped item (they drop their dropped item each time they're hurt). In your inventory they are surrounded in red. + +- **Tool tiles** are used for interracting (changing) the environment of the world. There are four types: + + - With a **shovel** you can dig up (remove) ground tiles from ground layer (see Layers and superlayers). + + - **Axes** are used to break (remove) wooden structures (trees, ladders, ...). + + - **Pickaxes** are used for breaking (removing) structures made from hard materials (rocks, boulders, ...). + + - **Swords** are used for damaging mobs. + + Tools aren't interchangeable, you can't use an axe to mine a bouder or an axe to kill a cow. In your inventory they are surrounded in blue. + +## Layers and superlayers + +The ingame world (map) is composed of **superlayers**. Superlayers represent each elevation level in the world. There are in total 5 superlayers (not all are implimented): **Space**, **Sky**, **Land**, **Underground**, **???**. + +Each superlayer is composed of 3 layers: **Structure**, **Mob** and **Ground**. Each one of them contains a specific type of tiles, structure tiles are only stored in "structure" layer, ground tiles only in "ground" layer and mob tiles only in "mob" layer. Even though, they are different layers, there are some rules for the interraction between them: + +- **Mobs can't be on top of structures** (except if the structure is marked as "walkable") + +- **Structures cannot be placed on top of mobs** (except if the strucure is marked as "walkable") + +- **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 on the structure layer on the superlayer below. Mobs also cannot be on top of holes (they fall to the superlayer below) + +## Inventory + +Each mob can store certain amount of item tiles. That is done in it's **inventory**. The inventory is comprised of 4 parts: + +- **Hotbar** can have all item tiles (except groundtiles). It should be used for the most important items in the inventory. In the UI you don't need to have the inventory menu open to use items from the hotbar. + +- **Items** is used as a bulk storage. It can hold any type of item tile and is the largest part of the inventory. + +- **Accessories** and **Gear** are used only to store gear tiles. + +## Crafting + +Creating different item tiles is done through **crafting**. Each craftable item requires from one to five different materials in different quantities. The item tiles must be inside the "items" part of your inventory. + +## 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 if 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/projects/mundus/history.md b/src/projects/mundus/history.md new file mode 100644 index 0000000..efa2ab2 --- /dev/null +++ b/src/projects/mundus/history.md @@ -0,0 +1,24 @@ +# Mundus - History + +**Article Created: 20 May 2020** || **Last Edited: 21 July 2020** + +[\< Introduction](./introduction.html) || [User Interface >](./user-interface.html) + +--- + +***08.02.2020*** - This was our first lecture in module 7 of the IT-kariera course and it was announced that for this exam we will be doing a project. We had almost complete freedom. From that point on, for the next couple of days I brainstormed different ideas. + +***12.02.2020*** - For the next two and a half weeks I explored different game engines / user interfaces. I started with Unity, but I dropped it because of time constraints. After that I looked into Gtk, and more precisely it's `C#` implementation: `GtkSharp 2.0`. I settled up on it and started learning it. +After that I started planning. + +***27.02.2020*** - I started slowly to work on the project itself. + +***28.03.2020*** - For the next week and a half I got a notebook and started taking notes and ideas all day long. + +***06.04.2020*** - Then started the spring school break. That was a good time to start coding the program. I worked really really hard, some days I worked for 8 hours without stop. It was almost the end of the break, but it got extended by a week. I continued working. + +But then, the COVID-19 situation happened. I wasn't able to continue working on it for a while, because I was burned out from the spring break and, in the beginning, there was an incredible amount of chaos with online education that I took upon myself to organize as much as I can. + +Until I finished the exam version, this pattern continued. I kept having a week or two where I worked really hard and another week or two where I rested. + +***23.05.2020*** - Finally, after many weeks of working on it, I had finished the exam version. I am saying "exam version" and not "the program" or "the project", because in the end it was more of a tech/code demo, than a finished product. More serious development will continue soon. diff --git a/website/projects/mundus/img/crafting-window.png b/src/projects/mundus/img/crafting-window.png Binary files differindex 61a7127..61a7127 100644 --- a/website/projects/mundus/img/crafting-window.png +++ b/src/projects/mundus/img/crafting-window.png diff --git a/website/projects/mundus/img/create-new-game.png b/src/projects/mundus/img/create-new-game.png Binary files differindex fe8d672..fe8d672 100644 --- a/website/projects/mundus/img/create-new-game.png +++ b/src/projects/mundus/img/create-new-game.png diff --git a/website/projects/mundus/img/inventory-menu.png b/src/projects/mundus/img/inventory-menu.png Binary files differindex 297d408..297d408 100644 --- a/website/projects/mundus/img/inventory-menu.png +++ b/src/projects/mundus/img/inventory-menu.png diff --git a/website/projects/mundus/img/main-screen.png b/src/projects/mundus/img/main-screen.png Binary files differindex bcf13c5..bcf13c5 100644 --- a/website/projects/mundus/img/main-screen.png +++ b/src/projects/mundus/img/main-screen.png diff --git a/website/projects/mundus/img/map-menu.png b/src/projects/mundus/img/map-menu.png Binary files differindex f640abb..f640abb 100644 --- a/website/projects/mundus/img/map-menu.png +++ b/src/projects/mundus/img/map-menu.png diff --git a/website/projects/mundus/img/small-game-window.png b/src/projects/mundus/img/small-game-window.png Binary files differindex 8af9885..8af9885 100644 --- a/website/projects/mundus/img/small-game-window.png +++ b/src/projects/mundus/img/small-game-window.png diff --git a/src/projects/mundus/introduction.md b/src/projects/mundus/introduction.md new file mode 100644 index 0000000..e389cfa --- /dev/null +++ b/src/projects/mundus/introduction.md @@ -0,0 +1,35 @@ +# Mundus - Introduction + +**Article Created: 20 May 2020** || **Last Edited: 21 July 2020** + +[History >](./history.html) + +--- + +Mundus is an opensource light-weight sandbox desktop game (on how to install it, refer to the [README of repository](https://github.com/Syndamia/Mundus/blob/master/README.md)). + +In it, you can explore, fight with creatures, build things or dig up the whole ground. + +If you choose survival mode, gathering resources and crafting better equipment are essential. If you prefer creating things, creative mode is for you. + + +It all started as my exam project for module 7 of the course IT-kariera. Well, the concept has existed ever since my first lessons in the course. BitSpace and BitSpace 2.0 were short-lived attempts at implimenting this idea but with Mundus I decided it was time to do this once and for all. + +Although it began as an exam project, I will continue working on for the foreseeable future with two goals in mind. First and foremost, to create a fun game and second of all: to make it avalable to be downloaded directly on linux (from AUR, ...). + +I am doing this project by myself, from code to textures. It contains more than 2000 lines of code, which I have written in the past months. + +**Links to project**: [GitHub](https://github.com/Syndamia/Mundus) + +## Contents: + +1. [Introduction](./introduction.html) +2. [History](./history.html) +3. [User Interface](./user-interface.html) +4. [Basic Concepts](./basic-concepts.html) + +## Screenshots +(may vary between operating systems and system themes) + +   + diff --git a/src/projects/mundus/user-interface.md b/src/projects/mundus/user-interface.md new file mode 100644 index 0000000..445fcf0 --- /dev/null +++ b/src/projects/mundus/user-interface.md @@ -0,0 +1,104 @@ +# Mundus - User Interface + +**Article Created: 21 May 2020** || **Last Edited: 21 July 2020** + +[\< History](./history.html) || [Basic Concepts >](./basic-concepts.html) + +--- + +**Note: all screenshots are made in Linux with Mint-Y theme.** + +## Main screen + + + +We start off at the **main screen**. + +Here you can **load a save file** (_not implimented_), **create a new game**, **view the tutorial** (_not implimented_), or **change settings** (_not implimented_). + +## Create new game + + + +Creating a game gives you a couple of options: + +- **Game Mode**: Here you can select survival, in which you will start with almost no items and creative (_not implimented_) where you will have access to all items at all times. + +- **Difficulty**: In higher difficulties, your energy gets depleated much more quickly and trees, boulders and mobs are rarer. + +- **Screen & Inventory size**: The screen is the world area that you can see. Because of the user interface I use, the two are connected. + +- **Map size**: Map size is currently determined by the Screen & Inventory size, the higher the size, the smaller the map. + +**Note: all game window screenshots are made with the Small Game Window.** + +## Game Window + + + +After the world is generated, the game window opens. + +A the top you have your **(game) screen**. Here you can see the world. To navigate click on a place you want to go to. If you want to alter the envirnment, first click on an item (that can modify the world) and click the place you want to alter. + +Below that is your **energy bar**. Each mob (including the player) has an energy bar, each action you take takes energy. If your energy gets depleated, you start taking damage for each action you take. To replenish energy, kill mobs and consume their meats. + +Then you have your **health**. It represents how much life you have. If it drops to zero, you die (_not fully implimented_). + +Underneath that, there is your **hotbar**. It is a part of your inventory (for more information, consult [Basic Concepts](basic-concepts.html). + +After that, you have the **Event log button** and some of the most recent events. Clicking the Event log button opens a window from which you can browse all event logs. For more information, consult [Basic Concepts](./basic-concepts.html). + +To the sides there are a couple of buttons: + +- **Map** - opens the map menu + +- **Inv** - opens the inventory menu + +- **Music** - opens the music window (not fully implimented) + +- **Pause** - opens the pause window + +## Map menu + + + +**The Map menu** is an extension (to the left) to the normal game window. It is toggled with the inventory menu (either one of them or neither can be opened at the same time). For more information on the map, refer to [Basic Concepts](./basic-concepts.html). + +It contains a couple of things: + +- **Ground layer** - shows only the ground layer tiles of the map name of the superlayer you are currenly in and your coordinates in it + +- **Structure layer** - shows only the structure layer tiles of the map + +- **There is hole above player** - used to determine if you can climb up a superlayer + +## Inventory menu + + + +**The Inventory menu** is an extension (to the right) to the normal game window. It is toggled with the map menu (either one of them or neither can be opened at the same time). For more information on the inventory, refer to [Basic Concepts](./basic-concepts.html). + +It contains a couple of things: + +- **Items inventory** + +- **Crafing button** - opens the crafting menu + +- **Accessories inventory** + +- **Gear inventory** + +- **Information about the selected item** (icon and values) + +## Crafting window + + + +Every time you open **the crafting menu**, it automatically gets all items that you can craft, using the items in your Items inventory. + +At the top it shows you **all required items** (icons) and how much you need of each one. + +Below that it shows the **item that you can craft**. There are also two buttons, Prev and Next, for navigating multiple items you can craft. + +Finally, there is **the Craft button**, with which you can craft that item (removes required item from inventory and adds the crafted item). + diff --git a/src/resume.md b/src/resume.md new file mode 100644 index 0000000..9fdd632 --- /dev/null +++ b/src/resume.md @@ -0,0 +1,15 @@ + +||| +|---|---| +|Technologies| That I know well| +||C# GtkSharp 2.0| +||That I somewhat know| +||HTML CSS MySQL Visual Basic| +|Work Experience|-| +|Internships|-| +|Education|| +||**Application programmer** **[ONGOING]** 2019-2021, Course [IT-kariera](https://it-kariera.mon.bg/e-learning/)| +|Visits|| +||[Lidl Digital](https://careers-digital.bg) 24.02.2020| +||[HeleCloud](https://helecloud.com/) 20.02.2020| + diff --git a/website/robots.txt b/src/robots.txt index e18756e..e18756e 100644 --- a/website/robots.txt +++ b/src/robots.txt diff --git a/src/styles.css b/src/styles.css new file mode 100644 index 0000000..30c21c1 --- /dev/null +++ b/src/styles.css @@ -0,0 +1,83 @@ +:root { + --link-tab-bg-color: #303030; + --link-tab-bg-hover-color: #004080; +} + +* { + font-family: 'Open Sans', sans-serif; +} + +.centered { + margin-left: auto; + margin-right: auto; +} + +.header { + margin-top: 17px; + text-align: center; + font: 21px Arial; + border-bottom: 5px solid var(--link-tab-bg-color); + padding-bottom: 10px; +} + +.link-tab { + font-weight: normal; + padding: 10px; + color: white; + background-color: var(--link-tab-bg-color); + text-decoration: none; +} + +.link-tab:hover { + background-color: var(--link-tab-bg-hover-color); +} + +.footer { + text-align: center; + line-height: 39px; + border-top: 5px solid var(--link-tab-bg-color); +} + +a { + text-decoration: none; + font-weight: bold; + color: #004080; +} + +article { + margin-left: 25%; + margin-right: 25%; +} + +code { + font: 12px Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace; + color: #52595d; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + background-color: #f9f9f9; + padding: 0px 3px; + display: inline-block; + margin: 0px; +} + +pre > code { + border: 1px solid #cacaca; + line-height: 1.2em; + font: 12px Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace; + padding: 10px; + overflow:auto; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + background-color: #FAFAFB; + color: #393939; + margin: 0px; +} diff --git a/src/tutorials.md b/src/tutorials.md new file mode 100644 index 0000000..f301224 --- /dev/null +++ b/src/tutorials.md @@ -0,0 +1,7 @@ +|| +|---| +|GtkSharp 2.0 [COMING SOON]| +|[Connect to Mysql in C# and Entity Framework](./tutorials/connect-to-mysql-in-csharp-ef/introduction.html)| + +I have some tutorial-style notes in my [references repo](https://github.com/Syndamia/References). Warning: some stuff might be wrong. + diff --git a/src/tutorials/connect-to-mysql-in-csharp-ef/connecting.md b/src/tutorials/connect-to-mysql-in-csharp-ef/connecting.md new file mode 100644 index 0000000..a91163c --- /dev/null +++ b/src/tutorials/connect-to-mysql-in-csharp-ef/connecting.md @@ -0,0 +1,53 @@ +# Connect to MySql in C# and Entity Framework - Connecting + +**Article Created: 21 May 2020** || **Last Edited: 21 July 2020** + +[\< Preparations](./preparation.html) + +--- + +## Connection string + +You can find many ways to impliment your connection string from [here](https://www.connectionstrings.com/mysql/). +From experience, this one works the best: + +``` +"server=localhost; port=YOUR-PORT; user id=YOUR-USER-ID; password=YOUR-PASSWORD; database=NAME-OF-DATABASE; SslMode=none" +``` + +If you don't know your port or user id, just look at the connection you use to connect to the database. + + In this example, the user id is _root_ and the port is _3306_. + +## ASP.NET Startup + +If you are making an ASP.NET application, you will need to alter your Startup.cs file. +Your ConfigureServices method should currenly look something like this: + +``` +// This method gets called by the runtime. Use this method to add services to the container. +public void ConfigureServices(IServiceCollection services) +{ + services.AddControllersWithViews(); + services.AddTransient<UserServices, UserServices>(); + services.AddDbContext<AppDbContext>(opt => + { + opt.UseSQL(CONNECTION_STRING); + }); +} +``` + +You need to change `.UseSQL` to `.UseMySQL` (refer to [preparations](./preparation.html) if you haven't already). + +## DBContext child class + +If you want to connect a DBContext child class to a MySQL databse, the best way is to override the `OnConfiguring` method. In the override, in `optionsBuilder`, call the `.UseMySQL` method (refer to [preparations](./preparation.html) if you haven't already). +Example: + +``` +protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) +{ + optionsBuilder.UseMySQL(DataBaseContexts.ConnectionStringMySQL); +} +``` + diff --git a/website/tutorials/connect-to-mysql-in-csharp-ef/img/connections.png b/src/tutorials/connect-to-mysql-in-csharp-ef/img/connections.png Binary files differindex aa7b408..aa7b408 100644 --- a/website/tutorials/connect-to-mysql-in-csharp-ef/img/connections.png +++ b/src/tutorials/connect-to-mysql-in-csharp-ef/img/connections.png diff --git a/src/tutorials/connect-to-mysql-in-csharp-ef/introduction.md b/src/tutorials/connect-to-mysql-in-csharp-ef/introduction.md new file mode 100644 index 0000000..2a2bd62 --- /dev/null +++ b/src/tutorials/connect-to-mysql-in-csharp-ef/introduction.md @@ -0,0 +1,19 @@ +# Connect to MySql in C# and Entity Framework - Introduction + +**Article Created: 21 May 2020** || **Last Edited: 21 July 2020** + +[Preparation >](./preparation.html) + +--- + +Connecting to `MySql` through `C#` can be quite tricky. I and many others have wasted too much time trying to figure this out. For that reason, I am making this tutorial. + +First are preparations in which I will talk about what you need to have for this to work. + +Second is the actual connecting. This covers changes in code and the all mighty connection string. + +## Contents + +1. [Introduction](./introduction.html) +2. [Preparation](./preparation.html) +3. [Connecting](./connecting.html) diff --git a/src/tutorials/connect-to-mysql-in-csharp-ef/preparation.md b/src/tutorials/connect-to-mysql-in-csharp-ef/preparation.md new file mode 100644 index 0000000..d7eed0d --- /dev/null +++ b/src/tutorials/connect-to-mysql-in-csharp-ef/preparation.md @@ -0,0 +1,20 @@ +# Connect to MySql in C# and Entity Framework - Preparation + +**Article Created: 21 May 2020** || **Last Edited: 21 July 2020** + +[\< Introduction](./introduction.html) || [Connecting >](./connecting.html) + +--- + +## MySql + +First of all, you need to insall MySql. You can do that from [here](https://dev.mysql.com/downloads/installer/). This is the installer. Skip this step, if you have already done it. + +## NuGet packages + +For an Entity Framework, [Microsoft.EntitiyFrameworkCore](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore) is the goto packet in this tutorial. + +Although [Microsoft.EntitiyFrameworkCore](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore) does offer connectivity with MS SQL server, **it doesn't offer the specific things for MySql**. + +That's why we need to also install another package: [MySql.Data.EntitiyFrameworkCore](https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/). + diff --git a/syndamiadotcom b/syndamiadotcom deleted file mode 100644 index 10a20ca..0000000 --- a/syndamiadotcom +++ /dev/null @@ -1,24 +0,0 @@ -# NGINX configuration file for the website -server { - listen 443 ssl; - root /var/www/syndamiadotcom/website; - index index.html; - server_name www.syndamia.com; - - ssl_certificate /etc/letsencrypt/live/www.syndamia.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/www.syndamia.com/privkey.pem; - - # This removes .html extension from url (https://stackoverflow.com/a/38238001/12036073) - location / { - if ($request_uri ~ ^/(.*)\.html$) { - return 302 /$1; - } - try_files $uri $uri.html $uri/ =404; - } -} - -server { - listen 80; - server_name www.syndamia.com; - return 301 https://$server_name$request_uri; -} diff --git a/website/about.html b/website/about.html deleted file mode 100644 index 0044c5d..0000000 --- a/website/about.html +++ /dev/null @@ -1,45 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="main"> - <meta charset="UTF-8"> - <meta name="description" content="Here you can find more information about myself"> - <meta name="keywords" content="programming, portfollio, personal, about"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="./img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="./img/favicon.png" type="image/png"/> - <title>Syndamia - About Me</title> - <link rel="stylesheet" href="./css/styles.css"> - </head> - - <body id="About"> - <div class="header"> - <script type="text/javascript" src="./js/header.js"></script> - </div> - - <div class="page-centered"> - <h2>Hello!</h2> - <p> - My name is Kamen. I am 18 years old and I was raised in and live in Bulgaria. - </p> - <p> - Ever since I was a kid, computers were my interest. I tinkered with any program I can find on my grandmother's old laptop, I even fully disassembled and assembled different old laptops (and they worked). - </p> - <p> - It took me quite some time, until a course in 2018, when I started seriously learning programming. In the beginning I wasn't that good, but I took it upon myself to work as hard as I could. I did most exercises that the teachers gave us and got excellent scores in all exams. - </p> - <p> - Ever since then, programming has been my passion and obsession. Everything from back-end to front-end to operating systems is really interesting to me and I am trying to learn it as much as I can. - </p> - </p> - </div> - - <br> - - <footer id="parent-dir" class="footer"> - <script type="text/javascript" src="./js/footer.js"></script> - </footer> - </body> -</html> diff --git a/website/blog.html b/website/blog.html deleted file mode 100644 index 1311cbf..0000000 --- a/website/blog.html +++ /dev/null @@ -1,31 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="main"> - <meta charset="UTF-8"> - <meta name="description" content="Personal blog"> - <meta name="keywords" content="programming, personal, blog"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="./img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="./img/favicon.png" type="image/png"/> - <title>Syndamia - Blog</title> - <link rel="stylesheet" href="./css/styles.css"> - </head> - - <body id="Blog"> - <div class="header"> - <script type="text/javascript" src="./js/header.js"></script> - </div> - - <div class="page-centered"> - <span class="warning">[COMING SOON]</span> - </div> - <br> - - <footer id="parent-dir" class="footer"> - <script type="text/javascript" src="./js/footer.js"></script> - </footer> - </body> -</html> diff --git a/website/contact.html b/website/contact.html deleted file mode 100644 index a1852ad..0000000 --- a/website/contact.html +++ /dev/null @@ -1,57 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="main"> - <meta charset="UTF-8"> - <meta name="description" content="Personal blog"> - <meta name="keywords" content="personal, contact"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="./img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="./img/favicon.png" type="image/png"/> - <title>Syndamia - Contact</title> - <link rel="stylesheet" href="./css/styles.css"> - - <style media="screen"> - .icon-link { - margin: 5px; - } - </style> - </head> - - <body id="Contact"> - <div class="header"> - <script type="text/javascript" src="./js/header.js"></script> - </div> - - <div class="page-centered"> - <table class="items-table"> - <tr> - <td colspan="2" class="separator-cell"><hr class="separator"></td> - </tr> - <tr> - <th class="items-table-th">Social media</th> - <td> - <a href="https://bg.linkedin.com/in/kamen-mladenov-18563b1a3?trk=people-guest_people_search-card" target="_blank" class="hyperlink icon-link" title="Linkedin"><img src="img/logos/linkedin.png" alt="Linkedin" width="32" height="32"></a> - </td> - </tr> - <tr> - <td colspan="2" class="separator-cell"><hr class="separator"></td> - </tr> - <tr> - <th class="items-table-th">Email</th> - <td class="hidden-text"><span >kamen.d.mladenov@protonmail.com</span></td> - </tr> - <tr> - <td colspan="2" class="separator-cell"><hr class="separator"></td> - </tr> - </table> - </div> - <br> - - <footer id="parent-dir" class="footer"> - <script type="text/javascript" src="./js/footer.js"></script> - </footer> - </body> -</html> diff --git a/website/credit.html b/website/credit.html deleted file mode 100644 index f26d279..0000000 --- a/website/credit.html +++ /dev/null @@ -1,38 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="main"> - <meta charset="UTF-8"> - <meta name="description" content="This page is for crediting creators, whose stuff I use in this website"> - <meta name="keywords" content="credit"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="./img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="./img/favicon.png" type="image/png"/> - <title>Syndamia - Programmer and Computer enthusiast</title> - <link rel="stylesheet" href="./css/styles.css"> - </head> - - <body> - <div class="header"> - <script type="text/javascript" src="./js/header.js"></script> - </div> - - <div class="page-centered"> - <h2>This page is for crediting creators, whose stuff I use in this website</h2> - - <a href="https://iconscout.com/icons/github" target="_blank" class="hyperlink">Github Logo Icon</a> by <a href="https://iconscout.com/contributors/roundicons-com" target="_blank" class="hyperlink">Roundicons.com</a> - <br> - <a href="https://iconscout.com/icons/stackoverflow" target="_blank" class="hyperlink">Stackoverflow Logo Icon</a> by <a href="https://iconscout.com/contributors/alexis-doreau" target="_blank" class="hyperlink">Alexis Doreau</a> - <br> - <a href="https://iconscout.com/icons/linkedin" target="_blank" class="hyperlink">LinkedIn Icon</a> on <a href="https://iconscout.com" target="_blank" class="hyperlink">Iconscout</a> - </div> - - <br> - - <footer id="parent-dir" class="footer"> - <script type="text/javascript" src="./js/footer.js"></script> - </footer> - </body> -</html> diff --git a/website/css/styles-multiple-page-articles.css b/website/css/styles-multiple-page-articles.css deleted file mode 100644 index 799fa8b..0000000 --- a/website/css/styles-multiple-page-articles.css +++ /dev/null @@ -1,38 +0,0 @@ -.article-title { - margin-left: 5px; - font: 21px Arial; - color: white; - float: left; -} - -.close { - width: 32px; - height: 32px; - float: right; - margin-top: -5px; - margin-right: 5px; -} - -.close :hover { - background-color: #ed383b; -} - -.tutorial-img { - padding-right: 15px; - vertical-align: middle; -} - -.tutorial-text { - align-self: center; - vertical-align: middle; -} - -.tutorial-p { - display: flex; -} - -.code { - color: #abb2bf; - background-color: #282c34; - padding: 3px; -} diff --git a/website/css/styles.css b/website/css/styles.css deleted file mode 100644 index 9dc6dc4..0000000 --- a/website/css/styles.css +++ /dev/null @@ -1,152 +0,0 @@ -:root { - --page-bg-color: #707070; - --tab-bg-hover: #636363; - --tab-other-bg: #5c5c5c; - --tab-border: #686868; - --tab-color: white; - --page-color: white; -} - -body { - background-color: #474747; -} - -.header { - font: 21px Arial; - text-align: center; - border-collapse: collapse; - margin-top: 17px; - min-width: 450px; - min-height: 27px; -} - -.header:after { - content: ""; - display: table; - clear:both; -} - -.footer { - margin-left: auto; - margin-right: auto; - - width: 400px; - font: 19 Arial; - text-align: center; - border-top: 15px solid var(--page-bg-color); - border-bottom: 15px solid var(--page-bg-color); - - background-color: var(--page-bg-color); -} - -.selected-tab, .other-tab { - padding: 10px; - color: var(--tab-color); - text-decoration: none; -} - -.selected-tab { - border-top: 3px solid var(--page-bg-color); - border-bottom: 3px solid var(--page-bg-color); - border-left: 3px solid var(--page-bg-color); - border-right: 3px solid var(--page-bg-color); - background-color: var(--page-bg-color); - cursor: default; -} - -.other-tab { - border-bottom: 3px solid var(--tab-other-bg); - border-left: 0.5px solid var(--tab-border); - border-right: 0.5px solid var(--tab-border); - background-color: var(--tab-other-bg); - cursor: pointer; -} - -.other-tab:hover { - background-color: var(--tab-bg-hover); -} - -.page, .page-centered { - font: 20px Arial; - margin-left: auto; - margin-right: auto; - margin-top: 8px; - margin-bottom: 19px; - color: var(--page-color); - min-width: 450px; - width: calc(100% - 30px); - background-color: var(--page-bg-color); - - display:inline-block; - border: 15px solid var(--page-bg-color); -} - -.page { - text-align: left; -} - -.page-centered { - text-align: center; -} - -.hyperlink { - text-decoration: none; - vertical-align: middle; - color: #d6d6d6; -} - -.hyperlink-footer { - color: var(--page-color); - text-decoration: none; - font-size: 15px; - color: #d6d6d6; - margin: 10px; -} - -hr { - border-color: black; -} - -.separator { - border: 1px solid #ddd; -} - -.separator-cell { - padding-left: 0px; - padding-right: 0px; -} - -.hidden-text { - color: black; - background-color: black; -} - -.hidden-text:hover { - color: white; -} - -.items-table { - display: inline; -} - -.items-table-th { - text-align: left; -} - -th, td { - padding-top: 5px; - padding-bottom: 5px; - - padding-left: 20px; - padding-right: 20px; -} - -.warning { - color: #ff9999; - font-weight: bold; -} - -.caution { - color: #ffff99; - font-weight: bold; -} diff --git a/website/img/logos/twitter.png b/website/img/logos/twitter.png Binary files differdeleted file mode 100644 index f70f430..0000000 --- a/website/img/logos/twitter.png +++ /dev/null diff --git a/website/img/ui/close.png b/website/img/ui/close.png Binary files differdeleted file mode 100644 index f6bb2a6..0000000 --- a/website/img/ui/close.png +++ /dev/null diff --git a/website/img/ui/close.xcf b/website/img/ui/close.xcf Binary files differdeleted file mode 100644 index eee0472..0000000 --- a/website/img/ui/close.xcf +++ /dev/null diff --git a/website/index.html b/website/index.html deleted file mode 100644 index ff82423..0000000 --- a/website/index.html +++ /dev/null @@ -1,50 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="main"> - <meta charset="UTF-8"> - <meta name="description" content="My personal website for programming. Here I share info about myself, projects I do and tutorials."> - <meta name="keywords" content="programming, personal, welcome"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="./img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="./img/favicon.png" type="image/png"/> - <title>Syndamia - Programmer and Computer enthusiast</title> - <link rel="stylesheet" href="./css/styles.css"> - - <style media="screen"> - h2 { - font-size: 50px; - } - p { - font-size: 30px; - } - </style> - </head> - - <body id="Home"> - <div class="header"> - <script type="text/javascript" src="./js/header.js"></script> - </div> - - <div class="page-centered"> - <h2>Welcome</h2> - <hr class="separator"> - <p> - My name is Kamen Mladenov and I am a programming student. - </p> - <p> - As of now, I am most comfortable with backend development and desktop applications. - </p> - <p> - Here I will share hard to find knowledge and information about myself and my programming life. - </p> - </div> - <br> - - <footer id="parent-dir" class="footer"> - <script type="text/javascript" src="./js/footer.js"></script> - </footer> - </body> -</html> diff --git a/website/js/footer.js b/website/js/footer.js deleted file mode 100644 index 7f1853e..0000000 --- a/website/js/footer.js +++ /dev/null @@ -1,32 +0,0 @@ -const pageFooter = document.getElementsByTagName('footer')[0]; - -function getFolderLevel () { - switch (pageFooter.id) { - case 'parent-dir': return './'; - case 'child-dir': return '../'; - case 'child-child-dir': return '../../'; - } -} - -const folderLevel = getFolderLevel(); - -const htmlFooter = -` -<a href="https://github.com/Syndamia" target="_blank" class="hyperlink-footer" title="GitHub"><img src="${folderLevel}img/logos/github.png" alt="GitHub" width="32" height="32"></a> -<a href="https://stackoverflow.com/users/12036073/syndamia" target="_blank" class="hyperlink-footer" title="StackOverflow"><img src="${folderLevel}img/logos/stackoverflow.png" alt="StackOverflow" width="32" height="32"></a> -<a href="https://bg.linkedin.com/in/kamen-mladenov-18563b1a3?trk=people-guest_people_search-card" target="_blank" class="hyperlink-footer" title="Linkedin"><img src="${folderLevel}img/logos/linkedin.png" alt="Linkedin" width="32" height="32"></a> - -<hr width="350px" noshade> - -<a href="${folderLevel}blog.html" class="hyperlink-footer">Blog</a> | -<a href="${folderLevel}about.html" class="hyperlink-footer">About</a> | -<a href="${folderLevel}contact.html" class="hyperlink-footer">Contact</a> | -<a href="${folderLevel}resume.html" class="hyperlink-footer">Resume</a> - -<hr width="350px" noshade> - -<a href="https://github.com/Syndamia/syndamiadotcom/blob/master/LICENSE" target="_blank" class="hyperlink-footer">Website License</a> | -<a href="${folderLevel}credit.html" target="_blank" class="hyperlink-footer">Credit</a> -`; - -pageFooter.innerHTML = htmlFooter; diff --git a/website/js/header.js b/website/js/header.js deleted file mode 100644 index 21986b4..0000000 --- a/website/js/header.js +++ /dev/null @@ -1,75 +0,0 @@ -const pageGroups = { - main: { - Tutorials: 'tutorials.html', - Projects: 'projects.html', - Blog: 'blog.html', - Home: 'index.html', - About: 'about.html', - Contact: 'contact.html', - Resume: 'resume.html' - }, - mundus: { - Title: 'Mundus', - Introduction: 'introduction.html', - History: 'history.html', - 'User Interface': 'user-interface.html', - 'Basic Concepts': 'basic-concepts.html' - }, - mySqlConnectEntityFrameworkCSharp: { - Title: 'Connect to MySql in C# and Entity Framework', - Introduction: 'introduction.html', - Preparation: 'preparation.html', - Connecting: 'connecting.html' - } -}; - -const pageInfo = { - getPageGroup: function () { - switch (document.getElementsByTagName('head')[0].id) { - case 'main': return pageGroups.main; - case 'mundus': return pageGroups.mundus; - case 'mySqlConnectEntityFrameworkCSharp': return pageGroups.mySqlConnectEntityFrameworkCSharp; - } - }, - getPageToReturnTo: function (pageGroup) { - switch (pageGroup) { - case pageGroups.mundus: return pageGroups.main.Projects; - case pageGroups.mySqlConnectEntityFrameworkCSharp: return pageGroups.main.Tutorials; - } - } -}; - -const current = { - pageGroup: pageInfo.getPageGroup(), - tab: document.getElementsByTagName('body')[0].id -}; - -const generator = { - generateTabs: function (tabTitles) { - let toReturn = ''; - tabTitles.forEach(item => { toReturn += `<a href="./${current.pageGroup[item]}" class="${item === current.tab ? 'selected-tab' : 'other-tab'}">${item}</a>`; }); - return toReturn; - }, - generateFull: function () { - const columnStyle = 'float: left; min-width: 33.33%;'; - - document.getElementsByClassName('header')[0].innerHTML = - ` - <div style="${columnStyle}"> - <span class="article-title">${current.pageGroup.Title}</span> - </div> - <div style="${columnStyle}"> - ${this.generateTabs(Object.keys(current.pageGroup).splice(1, Object.keys(current.pageGroup).length - 1))} - </div> - <div width=32px> - <a href="../../${pageInfo.getPageToReturnTo(current.pageGroup)}" class="close" title="Back to Projects"><img src="../../img/ui/close.png" alt="Back" width="32" height="32"></a> - </div> - `; - } -}; - -if (current.pageGroup !== pageGroups.main) { - generator.generateFull(); -} else { - document.getElementsByClassName('header')[0].innerHTML = generator.generateTabs(Object.keys(current.pageGroup)); -} diff --git a/website/projects.html b/website/projects.html deleted file mode 100644 index 00bb993..0000000 --- a/website/projects.html +++ /dev/null @@ -1,58 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="main"> - <meta charset="UTF-8"> - <meta name="description" content="Here, I will be sharing detailes about different projects I am/was working on"> - <meta name="keywords" content="programming, portfollio, personal, projects"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="./img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="./img/favicon.png" type="image/png"/> - <title>Syndamia - Projects</title> - <link rel="stylesheet" href="./css/styles.css"> - <link rel="stylesheet" href="./css/styles-multiple-page-articles.css"> - </head> - - <body id="Projects"> - <div class="header"> - <script type="text/javascript" src="./js/header.js"></script> - </div> - - <div class="page-centered"> - <table class="items-table"> - <tr> - <td colspan="2" class="separator-cell"><hr class="separator"></td> - </tr> - <tr> - <td><a href="./projects/mundus/introduction.html" class="hyperlink">Mundus</a></td> - <td><a href="https://github.com/Syndamia/Mundus" target="_blank" class="hyperlink" title="GitHub"><img src="./img/logos/github.png" alt="GitHub" width="32" height="32"></a></td> - </tr> - <tr> - <td colspan="2" class="separator-cell"><hr class="separator"></td> - </tr> - <tr> - <td>syndamiadotcom <span class="warning">[COMING SOON]</span></td> - <td><a href="https://github.com/Syndamia/syndamiadotcom" target="_blank" class="hyperlink" title="GitHub"><img src="./img/logos/github.png" alt="GitHub" width="32" height="32"></a></td> - </tr> - <tr> - <td colspan="2" class="separator-cell"><hr class="separator"></td> - </tr> - <tr> - <td>Bitspace <span class="warning">[COMING SOON]</span></td> - <td><a href="https://github.com/Syndamia/Shower" target="_blank" class="hyperlink" title="GitHub"><img src="./img/logos/github.png" alt="GitHub" width="32" height="32"></a></td> - </tr> - <tr> - <td colspan="2" class="separator-cell"><hr class="separator"></td> - </tr> - </table> - </div> - - <br> - - <footer id="parent-dir" class="footer"> - <script type="text/javascript" src="./js/footer.js"></script> - </footer> - </body> -</html> diff --git a/website/projects/mundus/basic-concepts.html b/website/projects/mundus/basic-concepts.html deleted file mode 100644 index 95724df..0000000 --- a/website/projects/mundus/basic-concepts.html +++ /dev/null @@ -1,95 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="mundus"> - <meta charset="UTF-8"> - <meta name="description" content="Despite the fact that I tried my best to make Mundus as intuitive as possible, there are things you need to understand about how it works"> - <meta name="keywords" content="programming, project, c#, gtksharp, game, openworld, sandbox"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="../../img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="../../img/favicon.png" type="image/png"/> - <title>Mundus - Basic concepts</title> - <link rel="stylesheet" href="../../css/styles.css"> - <link rel="stylesheet" href="../../css/styles-multiple-page-articles.css"> - </head> - - <body id="Basic Concepts"> - <div class="header"> - <script type="text/javascript" src="../../js/header.js"></script> - </div> - - <div class="page"> - <p> - Despite the fact that I tried my best to make the game as intuitive as possible, there are things you need to understand about how it works. - </p> - - <h2>Tiles</h2> - <p> - The ingame world (map) is composed of squares, called tiles, everything is a type of tile. The main purpose of tiles is to hold textures (amongst other important information). There are two main categories of tiles: items and mobs. Mobs (mobile object for short) are the creatures in the game. On the contrary, items are everything else, from the tools, to the trees. - </p> - <p> - There is only one type of mob tiles and that is MobTiles. - <br>All mobs have a couple of properties: their health (if it drops to or below 0, they die), defence (reduces or completely negates certain amounts of damage), inventory, random movement qualifier (used for random movement around the world), item that is dropped upon death (health <= 0) and the superlayer they are currenly in. - </p> - <p> - Items, however, are divided into: Structure, Ground, Material, Tool and Gear: - <ul> - <li>Material tiles are primarly used for crafting. Some tools are "consumable", meaning they can be consumed by the mob, which removes them from the inventory and changes the value of some property. In your inventory they are surrounded in <span style="color: #FF7F00;">oringe</span> .</li> - <li>Gear tiles are something you equip (in your accessories and gear inventories) that boost your stats. In your inventory they are surrounded in <span style="color: #9932CC">purple</span>.</li> - <li>Ground tiles are the tiles on the superlayer ground. For example, grass, water, sand are all ground tiles, because structures and mobs will be walking on top of them.</li> - <li>Structure tiles are tiles that can be placed in the world. For example, a tree is a type of structure tile. Some of them can be picked up. For example, a ladder is something you can have in your inventory, but something you can also place. They have a health and a dropped item (they drop their dropped item each time they're hurt). In your inventory they are surrounded in <span style="color: #ED3838">red</span>.</li> - <li> - Tool tiles are used for interracting (changing) the environment of the world. There are four types: Shovel, Axe, Pickaxe and Sword. - <ul> - <li>With a shovel you can dig up (remove) ground tiles from ground layer (see Layers and superlayers).</li> - <li>Axes are used to break (remove) wooden structures (trees, ladders, ...).</li> - <li>Pickaxes are used for breaking (removing) structures made from hard materials (rocks, boulders, ...).</li> - <li>Finally, swords are used for damaging mobs. </li> - </ul> - Tools aren't interchangeable, you can't use an axe to mine a bouder or an axe to kill a cow. In your inventory they are surrounded in <span style="color: #0080FF">blue</span>. - </li> - </ul> - </p> - <br> - <h2>Layers and superlayers</h2> - <p> - The ingame world (map) is composed of superlayers. Superlayers represent each elevation level in the world. There are in total 5 superlayers (not all are implimented): Space Sky Land Underground ???. - </p> - <p> - Each superlayer is composed of 3 layers: Structure, Mob, Ground. Each one of them contains a specific type of tiles, structure tiles are only stored in "strucutre" layer, ground tiles only in "ground" layer and mob tiles only in "mob" layer. Even though, they are different layers, there are some rules for the interraction between them: - <ol> - <li>Mobs can't be on top of structures (except if the structure is marked as "walkable")</li> - <li>Structures cannot be placed on top of mobs (except if the strucure is marked as "walkable")</li> - <li>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 on the structure layer on the superlayer below. Mobs also cannot be on top of holes (they fall to the superlayer below)</li> - </ol> - </p> - <br> - <h2>Inventory</h2> - <p> - Each mob can store certain amount of item tiles. That is done in it's inventory. The inventory is comprised of 4 parts: hotbar, items, accessories and gear. - <ul> - <li>Hotbar can have all item tiles (except groundtiles). It should be used for the most important items in the inventory. In the UI you don't need to have the inventory menu open to use items from the hotbar.</li> - <li>Items is used as a bulk storage. It can hold any type of item tile and is the largest part of the inventory.</li> - <li>Accessories and gear are used only to store gear tiles.</li> - </ul> - </p> - <br> - <h2>Crafting</h2> - <p> - Creating different item tiles is done through crafting. Each craftable item requires from one to five different materials in different quantities. The item tiles must be inside the "items" part of your inventory. - </p> - <br> - <h2>Event logs</h2> - <p> - 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 if you can't climb up a superlayer because a mob is blocking the way, or when you damage/kill a structure or mob. - </p> - </div> - - <br> - - <footer id="child-child-dir" class="footer"></footer> - </body> - <script type="text/javascript" src="../../js/footer.js"></script> -</html> diff --git a/website/projects/mundus/history.html b/website/projects/mundus/history.html deleted file mode 100644 index 7b67316..0000000 --- a/website/projects/mundus/history.html +++ /dev/null @@ -1,56 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="mundus"> - <meta charset="UTF-8"> - <meta name="description" content="History of the Mundus project"> - <meta name="keywords" content="programming, project, c#, gtksharp, game, openworld, sandbox"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="../../img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="../../img/favicon.png" type="image/png"/> - <title>Mundus - History</title> - <link rel="stylesheet" href="../../css/styles.css"> - <link rel="stylesheet" href="../../css/styles-multiple-page-articles.css"> - </head> - - <body id="History"> - <div class="header"> - <script type="text/javascript" src="../../js/header.js"></script> - </div> - - <div class="page"> - <p> - 08.02.2020 - This was our first lecture in module 7 of the IT-kariera course and it was announced that for this exam we will be doing a project. We had almost complete freedom. From that point on, for the next couple of days I brainstormed different ideas. - </p> - <p> - 12.02.2020 - For the next two and a half weeks I explored different game engines / user interfaces. I started with Unity, but I dropped it because of time constraints. After that I looked into Gtk, and more precisely it's C# implementation: GtkSharp 2.0. I settled up on it and started learning it. <br> - After that I started planning. - </p> - <p> - 27.02.2020 - I started slowly to work on the project itself. - </p> - <p> - 28.03.2020 - For the next week and a half I got a notebook and started taking notes and ideas all day long. - </p> - <p> - 06.04.2020 - Then started the spring school break. That was a good time to start coding the program. I worked really really hard, some days I worked for 8 hours without stop. It was almost the end of the break, but it got extended by a week. I continued working. <br> - </p> - <p> - But then, the COVID-19 situation happened. I wasn't able to continue working on it for a while, because I was burned out from the spring break and, in the beginning, there was an incredible amount of chaos with online education that I took upon myself to organize as much as I can. - </p> - <p> - Until I finished the exam version, this pattern continued. I kept having a week or two where I worked really hard and another week or two where I rested. - </p> - <p> - 23.05.2020 - Finally, after many weeks of working on it, I had finished the exam version. I am saying "exam version" and not "the program" or "the project", becasue in the end it was more of a tech/code demo, than a finished product. More serious development will continue soon. - </p> - </div> - - <br> - - <footer id="child-child-dir" class="footer"></footer> - </body> - <script type="text/javascript" src="../../js/footer.js"></script> -</html> diff --git a/website/projects/mundus/introduction.html b/website/projects/mundus/introduction.html deleted file mode 100644 index 3eb2be4..0000000 --- a/website/projects/mundus/introduction.html +++ /dev/null @@ -1,51 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="mundus"> - <meta charset="UTF-8"> - <meta name="description" content="Mundus is an opensource light-weight sandbox desktop game. In it, you can explore, fight with creatures, build things or dig up the whole ground."> - <meta name="keywords" content="programming, project, c#, gtksharp, game, openworld, sandbox"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="../../img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="../../img/favicon.png" type="image/png"/> - <title>Mundus - Introduction</title> - <link rel="stylesheet" href="../../css/styles.css"> - <link rel="stylesheet" href="../../css/styles-multiple-page-articles.css"> - </head> - - <body id="Introduction"> - <div class="header"> - <script type="text/javascript" src="../../js/header.js"></script> - </div> - - <div class="page"> - <p> - Mundus is an opensource light-weight sandbox desktop game (on how to install it, refer to the <a href="https://github.com/Syndamia/Mundus/blob/master/README.md" class="hyperlink">README of the repository</a>). <br> - In it, you can explore, fight with creatures, build things or dig up the whole ground. <br> - If you choose survival mode, gathering resources and crafting better equipment are essential. If you prefer creating things, creative mode is for you. <br> - </p> - Links to project: <a href="https://github.com/Syndamia/Mundus" target="_blank" class="hyperlink">GitHub</a> - <p> - <img src="./img/small-game-window.png" width="370" height="796"> <img src="./img/map-menu.png" alt="" width="630" height="795"> <img src="./img/inventory-menu.png" alt="" width="630" height="794"><br> - (Note: may vary between operating systems and system themes) - </p> - <p> - It all started as my exam project for module 7 of the course IT-kariera. Well, the concept has existed ever since my first lessons in the course. BitSpace and BitSpace 2.0 were short-lived attempts at implimenting this idea but with Mundus I decided it was time to do this once and for all. - </p> - <p> - Although it began as an exam project, I will continue working on for the foreseeable future with two goals in mind. First and foremost, to create a fun game and second of all: to make it avalable to be downloaded directly on linux (from AUR, ...). - </p> - <p> - I am doing this project by myself, from code to textures. It contains more than 2000 lines of code, which I have written in the past months. - </p> - </div> - - <br> - - <footer id="child-child-dir" class="footer"> - <script type="text/javascript" src="../../js/footer.js"></script> - </footer> - </body> -</html> diff --git a/website/projects/mundus/user-interface.html b/website/projects/mundus/user-interface.html deleted file mode 100644 index 49fe184..0000000 --- a/website/projects/mundus/user-interface.html +++ /dev/null @@ -1,98 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="mundus"> - <meta charset="UTF-8"> - <meta name="description" content="Detailed explanation of the user interface of the Mundus project"> - <meta name="keywords" content="programming, project, c#, gtksharp, game, openworld, sandbox"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="../../img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="../../img/favicon.png" type="image/png"/> - <title>Mundus - User interface</title> - <link rel="stylesheet" href="../../css/styles.css"> - <link rel="stylesheet" href="../../css/styles-multiple-page-articles.css"> - </head> - - <body id="User Interface"> - <div class="header"> - <script type="text/javascript" src="../../js/header.js"></script> - </div> - - <div class="page"> - Note: all screenshots are made in Linux with Mint-Y theme. - <p class="tutorial-p"> - <img src="./img/main-screen.png" alt="" class="tutorial-img" width="300" height="510"> - <span class="tutorial-text"> - We start off at the main screen. <br> - Here you can load a save file (not implimented as of 21.05.2020), create a new game, view the tutorial (not implimented as of 21.05.2020), or change settings (not implimented as of 21.05.2020). - </span> - </p> - <p class="tutorial-p"> - <img src="./img/create-new-game.png" alt="" class="tutorial-img" width="571" height="295"> - <span class="tutorial-text"> - Creating a game gives you a couple of options. <br><br> - First one is Game Mode. Here you can select survival, in which you will start with almost no items and creative (not implimented as of 21.05.2020) where you will have access to all items at all times. <br><br> - Then you have difficulty. In higher difficulties, your energy gets depleated much more quickly and trees, boulders and mobs are rarer.<br><br> - After that you have Screen & Inventory size. The screen is the world area that you can see. Because of the user interface I use, the two are connected. <br><br> - Finally, there is Map size. Map size is currently determined by the Screen & Inventory size, the higher the size, the smaller the map. - </span> - </p> - Note: all game window screenshots are made with the Small Game Window. - <p class="tutorial-p"> - <img src="./img/small-game-window.png" alt="" class="tutorial-img" width="370" height="796"> - <span class="tutorial-text"> - After the world is generated, the game window opens.<br><br> - A the top you have your (game) screen. Here you can see the world. To navigate click on a place you want to go to. If you want to alter the envirnment, first click on an item (that can modify the world) and click the place you want to alter.<br><br> - Below that is your energy bar. Each mob (including the player) has an energy bar, each action you take takes energy. If your energy gets depleated, you start taking damage for each action you take. To replenish energy, kill mobs and consume their meats.<br><br> - Then you have your health. It represents how much life you have. If it drops to zero, you die (not fully implimented as of 21.05.2020). <br><br> - Underneath that, there is your hotbar. It is a part of your inventory (for more information, consult <a href="./basic-concepts.html" class="hyperlink">Basic Concepts</a>). <br><br> - After that, you have the Event log button and some of the most recent events. Clicking the Event log button opens a window from which you can browse all event logs. For more information, consult <a href="./basic-concepts.html" class="hyperlink">Basic Concepts</a>. <br><br> - To the sides there are a couple of buttons: <br><br> - Map - opens the map menu <br> - Inv - opens the inventory menu <br> - Music - opens the music window (not fully implimented as of 21.05.2020) <br> - Pause - opens the pause window <br> - </span> - </p> - <p class="tutorial-p"> - <img src="./img/map-menu.png" alt="" class="tutorial-img" width="630" height="795"> - <span class="tutorial-text"> - The Map menu is an extension (to the left) to the normal game window. It is toggled with the inventory menu (either one of them or neither can be opened at the same time). For more information on the map, refer to <a href="./basic-concepts.html" class="hyperlink">Basic Concepts</a>.<br><br> - It contains a couple of things: <br><br> - Ground layer - shows only the ground layer tiles of the map <br> - name of the superlayer you are currenly in and your coordinates in it <br> - Structure layer - shows only the structure layer tiles of the map <br> - There is hole above player - used to determine if you can climb up a superlayer - </span> - </p> - <p class="tutorial-p"> - <img src="./img/inventory-menu.png" alt="" class="tutorial-img" width="630" height="794"> - <span class="tutorial-text"> - The Inventory menu is an extension (to the right) to the normal game window. It is toggled with the map menu (either one of them or neither can be opened at the same time). For more information on the inventory, refer to <a href="./basic-concepts.html" class="hyperlink">Basic Concepts</a>. <br><br> - It contains a couple of things: <br><br> - Items inventory <br> - Crafing button - opens the crafting menu <br> - Accessories inventory <br> - Gear inventory <br> - Information about the selected item (icon and values) - </span> - </p> - <p class="tutorial-p"> - <img src="./img/crafting-window.png" alt="" class="tutorial-img" width="270" height="496"> - <span class="tutorial-text"> - Every time you open the crafting menu, it automatically gets all items that you can craft, using the items in your Items inventory. <br><br> - At the top it shows you all required items (icons) and how much you need of each one. <br><br> - Below that it shows the item that you can craft. There are also two buttons, Prev and Next, for navigating multiple items you can craft. <br><br> - Finally, there is the Craft button, with which you can craft that item (removes required item from inventory and adds the crafted item). - </span> - </p> - </div> - - <br> - - <footer id="child-child-dir" class="footer"></footer> - </body> - <script type="text/javascript" src="../../js/footer.js"></script> -</html> diff --git a/website/resume.html b/website/resume.html deleted file mode 100644 index d72776b..0000000 --- a/website/resume.html +++ /dev/null @@ -1,106 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="main"> - <meta charset="UTF-8"> - <meta name="description" content="Here you can find information about my knowledge, education and work experience"> - <meta name="keywords" content="programming, portfollio, personal, resume, education, work, knowledge, experience, html, mysql, c#, csharp, career"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="./img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="./img/favicon.png" type="image/png"/> - <title>Syndamia - Resume</title> - <link rel="stylesheet" href="./css/styles.css"> - - <style media="screen"> - th, td { - vertical-align: text-top; - } - li { - padding-right: 20px; - text-align: left; - } - </style> - </head> - - <body id="Resume"> - <div class="header"> - <script type="text/javascript" src="./js/header.js"></script> - </div> - - <div class="page-centered"> - <table class="items-table"> - <tr> - <td colspan="3" class="separator-cell"><hr class="separator"></td> - </tr> - <tr> - <th class="items-table-th">Technologies</th> - <td class="items-table-th">That I know well:</td> - <td class="items-table-th">That I somewhat know:</td> - </tr> - <tr> - <td></td> - <td> - <ul> - <li>C#</li> - <li>GtkSharp 2.0</li> - </ul> - </td> - <td> - <ul> - <li>HTML / CSS</li> - <li>MySQL</li> - <li>Visual Basic</li> - </ul> - </td> - </tr> - <tr> - <td colspan="3" class="separator-cell"><hr class="separator"></td> - </tr> - <tr> - <th class="items-table-th">Work Experience</th> - <td colspan="2">-</td> - </tr> - <tr> - <td colspan="3" class="separator-cell"><hr class="separator"></td> - </tr> - <tr> - <th class="items-table-th">Internships</th> - <td colspan="2">-</td> - </tr> - <tr> - <td colspan="3" class="separator-cell"><hr class="separator"></td> - </tr> - <tr> - <th class="items-table-th">Education</th> - <td colspan="2"> - <b>Applied programmer</b><br> - <i>C# MySQL</i><br> - <span class="caution">[ONGOING]</span> 2019-2021, Course <a href="https://it-kariera.mon.bg/e-learning/" class="hyperlink">IT-kariera</a> - </td> - </tr> - <tr> - <td colspan="3" class="separator-cell"><hr class="separator"></td> - </tr> - <tr> - <th class="items-table-th">Visits</th> - <td colspan="2"> - <a href="https://careers-digital.bg/" class="hyperlink">Lidl Digital</a> 24.02.2020 - <br><br> - <a href="https://helecloud.com/" class="hyperlink">Helecloud</a> 20.02.2020 - </td> - </tr> - <tr> - <td colspan="3" class="separator-cell"><hr class="separator"></td> - </tr> - </table> - </div> - - <br> - - <footer id="parent-dir" class="footer"> - <script type="text/javascript" src="./js/footer.js"></script> - </footer> - </body> -</html> diff --git a/website/sitemap.xml b/website/sitemap.xml deleted file mode 100644 index bb3a965..0000000 --- a/website/sitemap.xml +++ /dev/null @@ -1,92 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<urlset
- xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
- http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
-<!-- created with Free Online Sitemap Generator www.xml-sitemaps.com -->
-
-
-<url>
- <loc>https://www.syndamia.com/</loc>
- <lastmod>2020-05-26T10:24:06+00:00</lastmod>
- <priority>1.00</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/contact</loc>
- <lastmod>2020-05-26T10:24:06+00:00</lastmod>
- <priority>0.90</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/tutorials</loc>
- <lastmod>2020-05-27T12:21:01+00:00</lastmod>
- <priority>0.80</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/projects</loc>
- <lastmod>2020-05-27T12:21:01+00:00</lastmod>
- <priority>0.80</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/index</loc>
- <lastmod>2020-05-26T10:24:06+00:00</lastmod>
- <priority>0.80</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/about</loc>
- <lastmod>2020-05-27T12:21:01+00:00</lastmod>
- <priority>0.80</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/resume</loc>
- <lastmod>2020-05-27T12:21:01+00:00</lastmod>
- <priority>0.80</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/credit</loc>
- <lastmod>2020-05-27T12:21:01+00:00</lastmod>
- <priority>0.80</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/blog</loc>
- <lastmod>2020-05-26T10:24:06+00:00</lastmod>
- <priority>0.80</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/tutorials/connect-to-mysql-in-csharp-ef/introduction</loc>
- <lastmod>2020-05-27T12:21:01+00:00</lastmod>
- <priority>0.64</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/projects/mundus/introduction</loc>
- <lastmod>2020-05-27T12:21:01+00:00</lastmod>
- <priority>0.64</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/tutorials/connect-to-mysql-in-csharp-ef/preparation</loc>
- <lastmod>2020-05-27T12:21:01+00:00</lastmod>
- <priority>0.51</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/tutorials/connect-to-mysql-in-csharp-ef/connecting</loc>
- <lastmod>2020-05-27T12:21:01+00:00</lastmod>
- <priority>0.51</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/projects/mundus/history</loc>
- <lastmod>2020-05-27T12:21:01+00:00</lastmod>
- <priority>0.51</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/projects/mundus/user-interface</loc>
- <lastmod>2020-05-27T12:21:01+00:00</lastmod>
- <priority>0.51</priority>
-</url>
-<url>
- <loc>https://www.syndamia.com/projects/mundus/basic-concepts</loc>
- <lastmod>2020-05-27T12:21:01+00:00</lastmod>
- <priority>0.51</priority>
-</url>
-
-
-</urlset>
diff --git a/website/tutorials.html b/website/tutorials.html deleted file mode 100644 index 000b3ad..0000000 --- a/website/tutorials.html +++ /dev/null @@ -1,51 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="main"> - <meta charset="UTF-8"> - <meta name="description" content="Here, you will find extensive information on technologies that aren't well documented and that I have wasted too much time figuring out"> - <meta name="keywords" content="programming, portfollio, personal, tutorials"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="./img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="./img/favicon.png" type="image/png"/> - <title>Syndamia - Tutorials</title> - <link rel="stylesheet" href="./css/styles.css"> - </head> - - <body id="Tutorials"> - <div class="header"> - <script type="text/javascript" src="./js/header.js"></script> - </div> - - <div class="page-centered"> - <table class="items-table"> - <tr> - <td class="separator-cell"><hr class="separator"></td> - </tr> - <tr> - <td>GtkSharp 2.0 <span class="warning">[COMING SOON]</span></td> - </tr> - <tr> - <td class="separator-cell"><hr class="separator"></td> - </tr> - <tr> - <td><a href="./tutorials/connect-to-mysql-in-csharp-ef/introduction.html" class="hyperlink">Connect to MySql in C# and Entity Framework</a></td> - </tr> - <tr> - <td class="separator-cell"><hr class="separator"></td> - </tr> - </table> - <p> - I have some tutorial-style notes in my <a href="https://github.com/Syndamia/References" class="hyperlink">references repo</a>. Warning: some stuff might be wrong. - </p> - </div> - - <br> - - <footer id="parent-dir" class="footer"> - <script type="text/javascript" src="./js/footer.js"></script> - </footer> - </body> -</html> diff --git a/website/tutorials/connect-to-mysql-in-csharp-ef/connecting.html b/website/tutorials/connect-to-mysql-in-csharp-ef/connecting.html deleted file mode 100644 index c3fcdff..0000000 --- a/website/tutorials/connect-to-mysql-in-csharp-ef/connecting.html +++ /dev/null @@ -1,81 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="mySqlConnectEntityFrameworkCSharp"> - <meta charset="UTF-8"> - <meta name="description" content="Code you need to write to connect to MySql in C# and Entitiy Framework"> - <meta name="keywords" content="programming, C#, tutorial, mysql, entity, framework, database, asp.net, dbcontext, connectionstring, connection"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="../../img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="../../img/favicon.png" type="image/png"/> - <title>Connect to MySql in C# and Entitiy Framework - Connecting</title> - <link rel="stylesheet" href="../../css/styles.css"> - <link rel="stylesheet" href="../../css/styles-multiple-page-articles.css"> - </head> - - <body id="Connecting"> - <div class="header"> - <script type="text/javascript" src="../../js/header.js"></script> - </div> - - <div class="page"> - <h2>Connection string</h2> - <p> - You can find many ways to impliment your connection string from <a href="https://www.connectionstrings.com/mysql/" class="hyperlink">here</a>. - From experience, this one works the best: <br> - <p class="code"> - "server=localhost; port=YOUR-PORT; user id=YOUR-USER-ID; password=YOUR-PASSWORD; database=NAME-OF-DATABASE; SslMode=none" - </p> - If you don't know your port or user id, just look at the connection you use to connect to the database. - </p> - <p class="tutorial-p"> - <img src="./img/connections.png" alt="MyServer root 127.0.0.1:3306" class="tutorial-img" width="262" height="152"> - <span class="tutorial-text"> - In this example, the user id is <i>root</i> and the port is <i>3306</i>. - </span> - </p> - <br> - <h2>ASP.NET Startup</h2> - <p> - If you are making an ASP.NET application, you will need to alter your Startup.cs file. - </p> - <p> - Your ConfigureServices method should currenly look something like this: - <p class="code"> -  // This method gets called by the runtime. Use this method to add services to the container. <br> -  public void ConfigureServices(IServiceCollection services) <br> -  { <br> -   services.AddControllersWithViews(); <br> -   services.AddTransient<UserServices, UserServices>(); <br> -   services.AddDbContext<AppDbContext>(opt => <br> -   { <br> -    opt.UseSQL(CONNECTION_STRING); <br> -   }); <br> -  } - </p> - You need to change <span class="code">.UseSQL</span> to <span class="code">.UseMySQL</span> (refer to <a href="./preparations" class="hyperlink">preparations</a> if you haven't already). - </p> - <br> - <h2>DBContext child class</h2> - <p> - If you want to connect a DBContext child class to a MySQL databse, the best way is to override the <span class="code">OnConfiguring</span> method. In the override, in <span class="code">optionsBuilder</span>, call the <span class="code">.UseMySQL</span> method (refer to <a href="./preparations" class="hyperlink">preparations</a> if you haven't already). - </p> - <p> - Example: - <p class="code"> -  protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) <br> -  { <br> -   optionsBuilder.UseMySQL(DataBaseContexts.ConnectionStringMySQL); <br> -  } <br> - </p> - </p> - </div> - - <br> - - <footer id="child-child-dir" class="footer"></footer> - </body> - <script type="text/javascript" src="../../js/footer.js"></script> -</html> diff --git a/website/tutorials/connect-to-mysql-in-csharp-ef/introduction.html b/website/tutorials/connect-to-mysql-in-csharp-ef/introduction.html deleted file mode 100644 index d25999e..0000000 --- a/website/tutorials/connect-to-mysql-in-csharp-ef/introduction.html +++ /dev/null @@ -1,41 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="mySqlConnectEntityFrameworkCSharp"> - <meta charset="UTF-8"> - <meta name="description" content="Connecting to MySql through C# can be quite tricky. For that reason, I am making this tutorial."> - <meta name="keywords" content="programming, C#, tutorial, mysql, entity, framework, database, asp.net, dbcontext, connectionstring, connection"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="../../img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="../../img/favicon.png" type="image/png"/> - <title>Connect to MySql in C# and Entitiy Framework - Introduction</title> - <link rel="stylesheet" href="../../css/styles.css"> - <link rel="stylesheet" href="../../css/styles-multiple-page-articles.css"> - </head> - - <body id="Introduction"> - <div class="header"> - <script type="text/javascript" src="../../js/header.js"></script> - </div> - - <div class="page"> - <p> - Connecting to MySql through C# can be quite tricky. I and many others have wasted too much time trying to figure this out. For that reason, I am making this tutorial. - </p> - <p> - First are preparations in which I will talk about what you need to have for this to work. - </p> - <p> - Second is the actual connecting. This covers changes in code and the all mighty connection string. - </p> - </div> - - <br> - - <footer id="child-child-dir" class="footer"> - <script type="text/javascript" src="../../js/footer.js"></script> - </footer> - </body> -</html> diff --git a/website/tutorials/connect-to-mysql-in-csharp-ef/preparation.html b/website/tutorials/connect-to-mysql-in-csharp-ef/preparation.html deleted file mode 100644 index cd1930b..0000000 --- a/website/tutorials/connect-to-mysql-in-csharp-ef/preparation.html +++ /dev/null @@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> -<html> - <head id="mySqlConnectEntityFrameworkCSharp"> - <meta charset="UTF-8"> - <meta name="description" content="Things you need to do as preparations for connecting to MySql in C# and Entitiy Framework"> - <meta name="keywords" content="programming, C#, tutorial, mysql, entity, framework, database, asp.net, dbcontext, connectionstring, connection"> - <meta name="author" content="Kamen Mladenov"> - <meta name="robots" content="index, follow"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link rel="icon" href="../../img/favicon.png" type="image/png"/> - <link rel="shortcut icon" href="../../img/favicon.png" type="image/png"/> - <title>Connect to MySql in C# and Entitiy Framework - Preparation</title> - <link rel="stylesheet" href="../../css/styles.css"> - <link rel="stylesheet" href="../../css/styles-multiple-page-articles.css"> - </head> - - <body id="Preparation"> - <div class="header"> - <script type="text/javascript" src="../../js/header.js"></script> - </div> - - <div class="page"> - <h2>MySql</h2> - <p> - First of all, you need to insall MySql. You can do that from <a href="https://dev.mysql.com/downloads/installer/" class="hyperlink" target="_blank">here</a>. This is the installer. Skip this step, if you have already done it. - </p> - <h2>NuGet packages</h2> - <p> - For an Entity Framework, <a href="https://www.nuget.org/packages/Microsoft.EntityFrameworkCore" class="hyperlink" target="_blank">Microsoft.EntitiyFrameworkCore</a> is the goto packet in this tutorial. - </p> - <p> - Although <a href="https://www.nuget.org/packages/Microsoft.EntityFrameworkCore" class="hyperlink" target="_blank">Microsoft.EntitiyFrameworkCore</a> does offer connectivity with MS SQL server, <b>it doesn't offer anything for MySql</b>. <br> - That's why we also need to install another package: <a href="https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/" class="hyperlink" target="_blank">MySql.Data.EntitiyFrameworkCore</a>. - </p> - </div> - - <br> - - <footer id="child-child-dir" class="footer"></footer> - </body> - <script type="text/javascript" src="../../js/footer.js"></script> -</html> |