diff --git a/README.md b/README.md index 0b12781..3a8434d 100644 --- a/README.md +++ b/README.md @@ -1 +1,13 @@ -see jefklakscodex.com +see [jefklakscodex.com](https://jefklakscodex.com) + + +## Converting/ripping + +### Jpegs + +> find . -name "*.jpg" -exec convert {} -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace sRGB {} \; + +### Twitter videos + +- Use `youtube-dl --no-check-certificate [m3u8link]`. Requires `ffmpeg` to be installed. +- Cut/convert with https://ezgif.com/video-to-mp4/ instead of ffmpeg - faster! \ No newline at end of file diff --git a/config.toml b/config.toml index 89642c8..c4be687 100644 --- a/config.toml +++ b/config.toml @@ -19,9 +19,8 @@ summaryLength = 20 [params] fathomid = "YFJHP" - font = "PT Sans" description = "Retro game thoughts" - copyright = "No © reserved - sharing is caring. Hack away!
An integral part of Brain Baking." + copyright = "No © reserved - sharing is caring.
An integral part of Brain Baking." sidebarAbout = [ "You’re browsing “The Codex”, a dedicated and highly opinionated website about nostalgic games that left a lasting impression on me." ] diff --git a/content/about.md b/content/about.md index 06015ef..8a01604 100644 --- a/content/about.md +++ b/content/about.md @@ -3,7 +3,7 @@ title = "About the Codex" disableComments = true +++ -Hi, I'm Jefklak/[Wouter](https://brainbaking.com/about/) and you're looking at "Jefklak's Codex", a dedicated and highly opinionated website[^1] about nostalgic games. The word **nostalgic** should be emphasized here. I grew up with a Gameboy between my hands and PC RPG games burnt into my retina. That healthy cocktail left a lasting impression - and netted me the Codex (and glasses). +Hi, I'm Jefklak/[Wouter](https://brainbaking.com/about/) and you're looking at "Jefklak's Codex", a dedicated and highly opinionated website about nostalgic games. The word **nostalgic** should be emphasized here. I grew up with a Gameboy between my hands and PC RPG games burnt into my retina. That healthy cocktail left a lasting impression - and netted me the Codex (and glasses). The Codex has a long history, I've always felt the need to proclaim my definitive game of each generation. If you want to have some fun (you should have got some by now), try archive.org's wayback machine: @@ -50,14 +50,3 @@ Feel free to [contact me](https://brainbaking.com/about/) if you notice any spel We retro fans have to stick together you know! -### Material used on this site - -All screenshots and images related to games are copyrighted by their legal owner. Since most older games aren't that popular anymore, I took the liberty to rely upon Google Images to grab screenshots when I was not able to provide my own. - -The Jefklak's Codex theme icons come from the game **[Gobliins 2](/articles/gobliins2-review)**, an old DOS point-and-click adventure game made by [Coktel Vision](https://en.wikipedia.org/wiki/Coktel_Vision). The French studio has been bought by Vivendi and parts of it gone bankrupt in 2004, so I have no idea if I'm free to use their sprites. The legal "abandonware" rights have always been a bit shady. - -This site was built using [Hugo](http://gohugo.io/). Heavily modified template by Bootstrapious.com - -& ported to Hugo by Kishan B. - -[^1]: This website uses an [anonymized IP](https://support.google.com/analytics/answer/2763052?hl=en) form of Google Analytics for the sole purpose of tracking website traffic. Embedded YouTube videos run in privacy mode, with cookies disabled. \ No newline at end of file diff --git a/content/articles/_index.md b/content/articles/_index.md index fbe86e1..5234bda 100644 --- a/content/articles/_index.md +++ b/content/articles/_index.md @@ -10,5 +10,5 @@ That healthy cocktail left a lasting impression - and netted me the Codex (and g > Stay Awhile and Listen! -#### Looking for something specific? [Browse the Appendix](/tags). +**Looking for something specific?** [Browse the Appendix](/tags). diff --git a/content/articles/ion-fury.md b/content/articles/ion-fury.md new file mode 100644 index 0000000..b8a9f2e --- /dev/null +++ b/content/articles/ion-fury.md @@ -0,0 +1,75 @@ ++++ +imageActive = "gif/ionfury.gif" +image = "gif/ionfury_still.gif" +date = "2020-06-01" +title = "Ion Fury: the Spiritual Successor of Duke3D?" +tags = ['Apogee', 'Ion Fury', "90's shooter"] +game_name = 'Ion Fury' +description = "Time to kick ass again - and don't forget to chew bubblegum! Does Shelly and the Build engine stand a chance anno 2020?" +game_platform = 'switch' +game_genre = 'Shooter' +game_release_year = '2020' +game_developer = 'Voidpoint' ++++ + +### In search of 90's shooters + +Do you remember the nineties? You know, big CRT screens, laptops of 10 kg and lots of floppy drives? Magnetic things that regularly fail to read data? How about a bit later, Windows 95? That era produced so many good (and _extremely gory_) PC shooters that I don't even know where to start if I wanted to list them: + +- **1998**: Unreal
_The start of OpenGL wars between Quake and Unreal_ +- **1997**: Redneck Rampage
_Using the Build engine to shoot at chickens?_ +- **1996**: Quake, Duke Nukem 3D
_Complex level design, "real" 3D_ +- **1995**: Rise of the Triad
_Huge levels, flying bodyparts_ +- **1994**: Heretic
_Doom engine mixed with medieval magic_ +- **1993**: Doom
_Great atmosphere and music, a sense of verticality_ +- **1992**: Wolfenstein 3D
_Hugging walls and pressing spacebar!_ + +Every single game was a big step forward and had me completely hooked during my childhood. Since Jefklak's Codex is a retro codex, and since retro gaming is becoming more and more popular, I thought, "_hey, why not cover the resurgence of nineties shooters?_" + +For each of the above generations, there have been lots of recent re-imagines and re-releases - but some are quick moneygrabs, so naturally I was a bit hesitant. For Wolf3D, there's [Project Warlock](https://www.gog.com/game/project_warlock), for Quake and Redneck Rampage, there's [DUSK](https://www.gog.com/game/DUSK), and for Duke lovers, there's Ion Fury, also published by 3D Realms. + +## "Talk shit? Get shot." + +![big boss is watching via cameras - 2](/img/games/ionfury/cameras2.jpg) + +Besides the returning lovingly cheesy one-liners ("_Some assembly required!_", "_HOLY SHIT_" when dismembering heads, "_Talk shit? Get shot._", ...), there are plenty of (hidden) references to the older Duke3D game. Even within the first five minutes of playing, you come across a bar. Remember Duke's rooftop explosion? Check. Bar in the cinema? Check. Pinball machines? Check. I love this kind of stuff. + +It gets more subtle: cameras with the main antagonist talking shit (see above screenshot) are a throwback to Duke Nukum I, the original DOS game. I got through the trouble of replaying the first few levels (via [The Internet Arhive MS-DOS games](https://archive.org/details/softwarelibrary_msdos), [play here](https://archive.org/details/DukeNukumVersion2.21993)) just to prove my point: + +![the camera in duke1 lvl2](/img/games/ionfury/duke1-camera.png) + +But wait, I saved the best one for last. Listen carefully to this logo sequence, shown when booting the game: + +{{< video "/vid/ionfury-intro.mp4" >}} + +Did you hear that retro squeak when the 3D Realms logo was displayed? I after a bit of digging - both in my memory and on the internet - I came up with this: + +{{< video "/vid/crystalcaves.mp4" >}} + +The original splash screen of **Apogee**, appearing in Crystal Caves, a great DOS game from 1991. 3D Realms still keeps their [legacy game website](http://legacy.3drealms.com/games.html) online with [Crystal Caves](http://legacy.3drealms.com/caves/index.html) still in it! What a fantastic start. + +## Clever level design and excellent music + +As soon as you finish one of the first episodes of Ion Fury, you will start to appreciate the effort Voidpoint put into the game to make it really click. Especially the level design is great, with clever use of verticality, even more than what I remember form Duke3D. It's easier to navigate, and it's huge. There are still three key cards involved, but sections of levels are color-coded in case you get lost (I do often). The mini-map is useless though. + +Sound effects and music design are top notch too, perfectly contributing to the murky atmosphere of this steampunk shooter. Streets are filled with litter (you can destroy with your baton to scrape together a few healthpoints), more than 20 secrets are scattered across each level (I only manage to find at most five), and it's full of graffiti with winks and references. + +![time for the crossbow to do it's work!](/img/games/ionfury/crossbow.jpg) + +The only downside are the obligatory boss battles. I hate these in shooters like this - why do they have to be present? Duke's shootout in the football arena wasn't particularly great either: simply circle-strafe, empty your bazookas and hope not to get hit in the process. The "Warmech", the first real boss I encountered, was a pain in the ass. I'm not great on the aiming part, even with gyro controls enabled. After seven attempts, I learned quickly unloading my crossbow bolts into his back did the trick. + +## Remember Blood? + +Remember the 1997 game called [Blood](https://en.wikipedia.org/wiki/Blood_(video_game)), also running on the Build engine? Ion Fury's hooded enemies remind me of those enemies. They also decapitate as easily. One of the new perks of the engine: headshots. Oh, and enemies are still moving 2D sprites that rotate depending on the camera of the player. I wouldn't have it any other way! + +Here's a quick video of the alternative firing mode of the pistol. It auto-kills enemies at range (a skull appears above their heads). That does mean that I whip it out more often than I let Duke use his stupid pistol once I got my hands on the shotgun. Another clever design option. Ion Fury's magnificent and extremely satisfying shotgun can also shoot grenade shells. + +{{< video "/vid/ionfury-headshot.mp4" >}} + +Yes, I decapitated the poor guy, and yes, I started kicking his head around. A Blood reference, indeed. The video also gives a sneak preview of the awesome retro-vibe-feeling soundtrack. I'm starting to like this game even more than the original... Go figure. + +## So... Is this "one doomed space marine"? + +In all honesty? The complete opposite. I'm very happy to have stumbled upon the game and I'm looking forward to replaying it. I don't miss Duke Nukem, but I do want to use my keyboard and mouse instead of a Nintendo Pro controller. And maybe then I can ease things by typing in **DNSTUFF** and **DNGOD**. + +> _Hail to the king, baby!_ diff --git a/content/articles/zeus-review.md b/content/articles/zeus-review.md index e707e36..ccbb44e 100644 --- a/content/articles/zeus-review.md +++ b/content/articles/zeus-review.md @@ -4,7 +4,7 @@ draft = false image = "/img/games/zeus.jpg" date = "2006-10-19" title = "Zeus Review" -game_name = 'Zeus: master of olympus' +game_name = 'Zeus: master of Olympus' game_genre = 'Simulation/RTS' game_release_year = '2000' game_developer = 'Impressions Games' @@ -14,7 +14,7 @@ weight = 0 -Argh, my temple, all messed up! Poseidon likes to destroy all buildings I carefully planted down on the coast line because he's cranky in the morning. Acually I did not do him a favour in the past few years and instead joined forces with one of the other major Greek Gods. What choice would you make? A couple of free superman-like heroes fighting side by side with your giant army, or a couple of free boats to roam and rule the sea? Before we move on I should really collect more taxes. Thank you rich people! - oh, I heard a reply: "No, thank you - ruler of this wonderful wealthy city!" +Argh, my temple, all messed up! Poseidon likes to destroy all buildings I carefully planted down on the coast line because he's cranky in the morning. Actually I did not do him a favour in the past few years and instead joined forces with one of the other major Greek Gods. What choice would you make? A couple of free superman-like heroes fighting side by side with your giant army, or a couple of free boats to roam and rule the sea? Before we move on I should really collect more taxes. Thank you rich people! - oh, I heard a reply: "No, thank you - ruler of this wonderful wealthy city!" Yes, I'm getting hooked. All hooked up. Zeus: Master of Olympus is in fact the fifth time something like this happened - thanks a lot Impressions Games! Is this sad coincidence this company also had to close due to bad sell records? Without further delays, let's head straight into the building fest, because Zeus is (subjectively) simply the best city building game to date. @@ -24,16 +24,16 @@ Without further delays, let's head straight into the building fest, because Zeus
God, I hate Gods! Look at this mess!
The basic concept exists as said before longer than the day Zeus: Master of Olympus saw the green light. Successfully build up a large city, create an army to protect and empower yourself, give residents enough food and other supplies, erupt wars between neighbour cities or try to haggle with them, ... There are so many possibilities to finish a mission (or sandbox mode), but let's start with the ultimate beginning. How is this game actually played? -The start is quite simple: "Reserve" equally big land pieces for potential inhabitants to create their home. To do this, you'll have to place a house mockup selected from the right side build menu on a piece of empty land (no rocks, stones, whatever). Every house (or future house) should be accessible by basic needs: water and food and such. To ensure your water carriers stroll trough every part of your city you'll have to carefully lay well-placed roads. If you do this in a rectangular fasion and don't create a too wide distance between the facility (a market) and the destination (houses), the business people will automatically reach the houses and they will automatically buy what they need. You can also create road blocks to ensure some parts of town are unaccessible by those people, for instance the industry part. +The start is quite simple: "Reserve" equally big land pieces for potential inhabitants to create their home. To do this, you'll have to place a house mockup selected from the right side build menu on a piece of empty land (no rocks, stones, whatever). Every house (or future house) should be accessible by basic needs: water and food and such. To ensure your water carriers stroll trough every part of your city you'll have to carefully lay well-placed roads. If you do this in a rectangular fashion and don't create a too wide distance between the facility (a market) and the destination (houses), the business people will automatically reach the houses and they will automatically buy what they need. You can also create road blocks to ensure some parts of town are inaccessible by those people, for instance the industry part. ### The Revolution
The center of a city can be quite busy.
-When there's no water supplied to houses, the critical basic needs are not met. What does this actually mean? Your houses won't "upgrade", of course. And that is the ultimate point of creating and building a city: increasing the maximum upgrade capacity! No rich person will want to live in a poorly built house wich does not provide olive for instance. Inhabitants each have their own needs and they will increase once you upgrade the house structures a couple of times. For example, the second house upgrade requires a doctor access to further upgrade. After that, people will want to visit temples, or a theatre. There are numberous of possibilities to furfill the inhabitants needs. You can built a philosophers house or a theatre, they both satisfy the relaxation need. Of course at later stages the richest and stinkiest bastards will want them both. Argh! +When there's no water supplied to houses, the critical basic needs are not met. What does this actually mean? Your houses won't "upgrade", of course. And that is the ultimate point of creating and building a city: increasing the maximum upgrade capacity! No rich person will want to live in a poorly built house which does not provide olive for instance. Inhabitants each have their own needs and they will increase once you upgrade the house structures a couple of times. For example, the second house upgrade requires a doctor access to further upgrade. After that, people will want to visit temples, or a theatre. There are numerous of possibilities to fur-fill the inhabitants needs. You can built a philosophers house or a theatre, they both satisfy the relaxation need. Of course at later stages the richest and stinkiest bastards will want them both. Argh! -Keep in mind all those facilities have to be placed within the initially created road block circle, otherwise certain houses won't have access to your newly created buildings. The partial solution is to create two separate buildings, but that's going to cost you quite a bit more. Besides, on this point Zeus did not really change: food is made from various industry buildings like a hunters tent or a fishing quarry. Olive is made from olive trees and an olive press. These are all separate buildings wich should be placed somewhere out of town: the inhabitans do not like the industry smell at all and you will want to keep them happy to keep you happy and collect enough taxes to fund your future wars. +Keep in mind all those facilities have to be placed within the initially created road block circle, otherwise certain houses won't have access to your newly created buildings. The partial solution is to create two separate buildings, but that's going to cost you quite a bit more. Besides, on this point Zeus did not really change: food is made from various industry buildings like a hunters tent or a fishing quarry. Olive is made from olive trees and an olive press. These are all separate buildings which should be placed somewhere out of town: the inhabitants do not like the industry smell at all and you will want to keep them happy to keep you happy and collect enough taxes to fund your future wars. ### Weird guys, those Greeks? @@ -43,7 +43,7 @@ Keep in mind all those facilities have to be placed within the initially created So what separates Zeus: Master of Olympus from all previous City Building games from Impressions? Good question. The easiest and best answer can be concluded from watching the screenshots: the Greek mythology setting of course. The whole game breathes a fancy Ancient Greek air. You will encounter friendly Gods and not-so-friendly ones (refer to the rude introduction I gave you. Sorry for that!). Gods will get attrackted to your city eventually once you've built enough temples devoted to them. For instance, Dyonisius requires a temple devoted to him and a yearly production of 20 wine bottles. Once you've got him so far to stroll among your streets, you can ask the God to aid you in your quest of vanquishing the enemy - or surviving yourself. If you find yourself ever running low on wine, Dyonisius will kindly provide you with the goods when things get dirty. If you manage to please him, that is. -Next to Gods, you can also call upon your favourite Ancient Greek heroes by building a little temple for them and furfilling certain requirements like build 5 boats or stock up 20 piles of marble. Once you win the favour of the hero, he will fight among your side during a skirmish or war, wich can be really helpful. Heroes also have the power to drive away angry Gods you displeased - call it an insurance if you wish, otherwise the God will destroy buildings like mad untill you chased him away or pleased him. Heroes also increase the morale of your own army troops of course. +Next to Gods, you can also call upon your favourite Ancient Greek heroes by building a little temple for them and fur-filling certain requirements like build 5 boats or stock up 20 piles of marble. Once you win the favour of the hero, he will fight among your side during a skirmish or war, which can be really helpful. Heroes also have the power to drive away angry Gods you displeased - call it an insurance if you wish, otherwise the God will destroy buildings like mad until you chased him away or pleased him. Heroes also increase the morale of your own army troops of course. ### Demanding 10 Ton Marble. @@ -52,8 +52,8 @@ Next to Gods, you can also call upon your favourite Ancient Greek heroes by buil What else can you achieve in Zeus? Why, ruling the import/export business of course. Once you've set up a growing industry zone, like marble, and you keep mining the expensive raw material even if your people have no need for it. Build a couple of storage spaces and try to get one of your neighbour (or daughter!) cities to trade for it. Certain materials can really slide the game balance. At least, as long as they are interested in trading and keep it that way: once a city is at war he will not want to continue trading or buying your goods and you'll have to find other ways to earn hard cash. -Yes, you can build colonies. No, you cannot explicitly build them, the main campagin leads you towards building it, you cannot do this in multiplayer mode or sandbox mode. Once the campaign instructs you to build a daughter city, you can pay yearly tribute to your main city by sending them a gift every year, like 10 piles of wood. The whole point of building a colony is of course being able to get your hands on goods you couldn't get before. Besides, there is no multiplayer option present anywhere! That's too bad, since the sequel, Emperor, is quite satisfying, haggling with your friends about certain goods. +Yes, you can build colonies. No, you cannot explicitly build them, the main campaign leads you towards building it, you cannot do this in multiplayer mode or sandbox mode. Once the campaign instructs you to build a daughter city, you can pay yearly tribute to your main city by sending them a gift every year, like 10 piles of wood. The whole point of building a colony is of course being able to get your hands on goods you couldn't get before. Besides, there is no multiplayer option present anywhere! That's too bad, since the sequel, Emperor, is quite satisfying, haggling with your friends about certain goods. ### Conclusion -Citybuilding. Is it something you like or is it something you dispite? Eighter way, you will be able to appreciate the Ancient Greek mythology after a while. Sadly there is no multiplayer option available; if you are looking for this, check out the Zeus sequel: Emperor, set in Ancient Chine, also made by City Building Gods Impressions. \ No newline at end of file +Citybuilding. Is it something you like or is it something you despite? Either way, you will be able to appreciate the Ancient Greek mythology after a while. Sadly there is no multiplayer option available; if you are looking for this, check out the Zeus sequel: Emperor, set in Ancient Chine, also made by City Building Gods Impressions. \ No newline at end of file diff --git a/content/no-copyright.md b/content/no-copyright.md new file mode 100644 index 0000000..196780e --- /dev/null +++ b/content/no-copyright.md @@ -0,0 +1,36 @@ +--- +title: "No Copyright and no tracking" +disableComments: true +--- + +### No Copyright + +Inspired by Leo Babauta's ["uncopyright and the minimalist mindset"](https://mnmlist.com/uncopyright-and-a-minimalist-mindset/), I decided to apply this to Jefklak's Codex. This is the same page as my master website at [Brain Baking](https://brainbaking.com/no-copyright-no-tracking). + +I've always detested the _'this is mine!'_-mindset, especially when it comes to intellectual property. Everyone benefits if everything is open and everyone can build upon each other's work. A possible financial loss is not an excuse. Leo has found copyrights not to be particularly helpful, so he simply got rid of them. He sells thousands of ebooks monthly. You have the right to share them with friends. He would rather have you buy them, but this way his work reaches a broader audience. + +The source of this website is available at my [Github repository](https://github.com/wgroeneveld/jefklakscodex). Feel free to do with it whatever you want: copy excerpts, republish images, use code partials, rip the theme, ... There's a reason the repository is **public**. + +> Love only grows by sharing. You can only have more for yourself by giving it away to others. Brian Tracy + +Of course I would be really grateful if you would still attribute Jefklak's Codex as the source of your used material. However, I do not want to oblige you to do so using a confusing Creative Commons licence. + +### No Tracking + +Who doesn't like cookies? I'm [a baker](https://redzuurdesem.be/) - I would know. Well, I don't like cookies on websites, because they rise privacy concerns. That is why, inspired by [Laura Kalbag's "I don't track you"](https://laurakalbag.com/i-dont-track-you/) philosophy, I do everything I can to _not_ track you, but to track **traffic** instead. + +I achieved this by ditching Google Analytics and hosting third-party libraries myself. So _rest assured_, Google does not know you were here! Instead, I use [Fathom](https://usefathom.com), a simple and privacy-focused analytics system that is self-hosted. It does require one simple cookie but it's on my own SSL-verified domain. + +When a YouTube video is embedded into one of these pages, it will run in "no cookie" mode. That means content will be served from youtube-nocookie.com, preventing Google from tracking my visitors. + +The commenting system I self-host is [Commento](https://www.commento.io), a fast, privacy-focused commenting platform. It does come with cookies if you decide to login, but again: it's on my own SSL-verified domain. + +### Material used on this site + +All screenshots and images related to games are of course still copyrighted by their legal owner. Since most older games aren't that popular anymore, I took the liberty to rely upon Google Images to grab screenshots when I was not able to provide my own. + +The Jefklak's Codex theme icons come from the game **[Gobliins 2](/articles/gobliins2-review)**, an old DOS point-and-click adventure game made by [Coktel Vision](https://en.wikipedia.org/wiki/Coktel_Vision). The French studio has been bought by Vivendi and parts of it gone bankrupt in 2004, so I have no idea if I'm free to use their sprites. The legal "abandonware" rights have always been a bit shady. + +This site was built using [Hugo](http://gohugo.io/). Heavily modified template by Bootstrapious.com + +& ported to Hugo by Kishan B. diff --git a/layouts/shortcodes/video.html b/layouts/shortcodes/video.html new file mode 100644 index 0000000..99aab8e --- /dev/null +++ b/layouts/shortcodes/video.html @@ -0,0 +1,6 @@ +
+ +
\ No newline at end of file diff --git a/static/gif/ionfury.gif b/static/gif/ionfury.gif new file mode 100644 index 0000000..8de791a Binary files /dev/null and b/static/gif/ionfury.gif differ diff --git a/static/gif/ionfury_still.gif b/static/gif/ionfury_still.gif new file mode 100644 index 0000000..c1a0e92 Binary files /dev/null and b/static/gif/ionfury_still.gif differ diff --git a/static/img/games/ionfury/3drealms.jpg b/static/img/games/ionfury/3drealms.jpg new file mode 100644 index 0000000..3b16e54 Binary files /dev/null and b/static/img/games/ionfury/3drealms.jpg differ diff --git a/static/img/games/ionfury/cameras1.jpg b/static/img/games/ionfury/cameras1.jpg new file mode 100644 index 0000000..a790438 Binary files /dev/null and b/static/img/games/ionfury/cameras1.jpg differ diff --git a/static/img/games/ionfury/cameras2.jpg b/static/img/games/ionfury/cameras2.jpg new file mode 100644 index 0000000..d991510 Binary files /dev/null and b/static/img/games/ionfury/cameras2.jpg differ diff --git a/static/img/games/ionfury/crossbow.jpg b/static/img/games/ionfury/crossbow.jpg new file mode 100644 index 0000000..ca90696 Binary files /dev/null and b/static/img/games/ionfury/crossbow.jpg differ diff --git a/static/img/games/ionfury/duke1-camera.png b/static/img/games/ionfury/duke1-camera.png new file mode 100644 index 0000000..fedbbd3 Binary files /dev/null and b/static/img/games/ionfury/duke1-camera.png differ diff --git a/static/vid/crystalcaves.mp4 b/static/vid/crystalcaves.mp4 new file mode 100644 index 0000000..e5141dc Binary files /dev/null and b/static/vid/crystalcaves.mp4 differ diff --git a/static/vid/ionfury-headshot.mp4 b/static/vid/ionfury-headshot.mp4 new file mode 100644 index 0000000..1b193dc Binary files /dev/null and b/static/vid/ionfury-headshot.mp4 differ diff --git a/static/vid/ionfury-intro.mp4 b/static/vid/ionfury-intro.mp4 new file mode 100644 index 0000000..427f74c Binary files /dev/null and b/static/vid/ionfury-intro.mp4 differ diff --git a/themes/jefklak-creative-portfolio/assets/sass/_codex.sass b/themes/jefklak-creative-portfolio/assets/sass/_codex.sass index 85cd721..1dabbdd 100644 --- a/themes/jefklak-creative-portfolio/assets/sass/_codex.sass +++ b/themes/jefklak-creative-portfolio/assets/sass/_codex.sass @@ -16,6 +16,7 @@ body @media (min-width: 960px) font-size: inherit + .rfloat float: right @@ -137,6 +138,13 @@ a.external img cursor: pointer border: 1px solid black + border-radius: 5px + .video-mask + padding-top: 1rem + padding-bottom: 1rem + width: 100% + border-radius: 5px + overflow: hidden a:hover text-decoration: none @@ -195,3 +203,26 @@ a:hover, .box-masonry h4 a:hover width: 100% +.pages + color: var(--accent) + +.pagination > .disabled > span + background-color: var(--bgdarker) + +.pagination > li > a, .pagination > li > span + background-color: var(--bgdark) + border: 1px solid var(--bgdarker) + color: #333 + +.pagination > .active > a + background-color: var(--bglight) + color: #333 + + +.categories + color: var(--accent) + + kbd + padding: 0.2rem 0.5rem 0.2rem 0.5rem + background-color: var(--bgdark) + color: var(--accent) diff --git a/themes/jefklak-creative-portfolio/assets/sass/_fonts.sass b/themes/jefklak-creative-portfolio/assets/sass/_fonts.sass new file mode 100644 index 0000000..a7cde20 --- /dev/null +++ b/themes/jefklak-creative-portfolio/assets/sass/_fonts.sass @@ -0,0 +1,37 @@ +/* latin-ext */ +@font-face { + font-family: 'PT Sans'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('PT Sans'), local('PTSans-Regular'), url(/css/fonts/ptsans-latin-ext.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'PT Sans'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('PT Sans'), local('PTSans-Regular'), url(/css/fonts/ptsans-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* latin-ext */ +@font-face { + font-family: 'PT Sans'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: local('PT Sans Bold'), local('PTSans-Bold'), url(/css/fonts/ptsans-latin-ext-bold.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'PT Sans'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: local('PT Sans Bold'), local('PTSans-Bold'), url(/css/fonts/ptsans-latin-bold.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/themes/jefklak-creative-portfolio/layouts/_default/single.html b/themes/jefklak-creative-portfolio/layouts/_default/single.html index 929753e..4b43a75 100644 --- a/themes/jefklak-creative-portfolio/layouts/_default/single.html +++ b/themes/jefklak-creative-portfolio/layouts/_default/single.html @@ -28,6 +28,15 @@ {{ .Content }} + {{ if isset $.Params "tags" }} +
+ Categorized under: + {{ range .Params.tags }} + {{ . }} + {{ end }} + {{ end }} +
+
{{ if (not .Params.disableComments) }} @@ -35,8 +44,12 @@ Join the Discussion + {{- if (ne hugo.Environment "development") }} + {{- else }} + (localhost, commento not loaded) + {{- end }}
{{ end }} diff --git a/themes/jefklak-creative-portfolio/layouts/partials/head.html b/themes/jefklak-creative-portfolio/layouts/partials/head.html index b7cb540..b6a39d7 100644 --- a/themes/jefklak-creative-portfolio/layouts/partials/head.html +++ b/themes/jefklak-creative-portfolio/layouts/partials/head.html @@ -94,7 +94,6 @@ body, .content-column-content, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, - {{- $options := (dict "targetPath" "css/styles.css" "outputStyle" "compressed" "enableSourceMap" "true") -}} diff --git a/themes/jefklak-creative-portfolio/layouts/partials/portfolio.html b/themes/jefklak-creative-portfolio/layouts/partials/portfolio.html index 5ba8f10..d04a02c 100644 --- a/themes/jefklak-creative-portfolio/layouts/partials/portfolio.html +++ b/themes/jefklak-creative-portfolio/layouts/partials/portfolio.html @@ -3,13 +3,17 @@
-
- {{ .Content }} -
+ {{ if eq .Paginator.PageNumber 1 }} +
+ {{ .Content }} +
+ {{ end }} -

Featured Codex Articles

+

Featured Codex Articles + ({{ .Paginator.PageNumber }}/{{ .Paginator.TotalPages }}) » +

- {{ range first 10 .Data.Pages }} + {{ range (.Paginate .Pages).Pages }}
{{ end }} +
+ {{- template "_internal/pagination.html" . }} +
+
diff --git a/themes/jefklak-creative-portfolio/layouts/partials/sidebar.html b/themes/jefklak-creative-portfolio/layouts/partials/sidebar.html index 4565654..4ce3b99 100644 --- a/themes/jefklak-creative-portfolio/layouts/partials/sidebar.html +++ b/themes/jefklak-creative-portfolio/layouts/partials/sidebar.html @@ -42,7 +42,7 @@ {{ end }} - {{ $related := first 4 (where (where (where .Site.Pages.ByDate.Reverse ".Type" "==" "articles") ".Params.tags" "intersect" .Params.tags) "Permalink" "!=" .Permalink) }} + {{ $related := first 4 (where (where .Site.Pages.ByDate.Reverse ".Params.tags" "intersect" .Params.tags) "Permalink" "!=" .Permalink) }} {{ if $related }} diff --git a/themes/jefklak-creative-portfolio/static/css/fonts/ptsans-latin-bold.woff2 b/themes/jefklak-creative-portfolio/static/css/fonts/ptsans-latin-bold.woff2 new file mode 100644 index 0000000..05160da Binary files /dev/null and b/themes/jefklak-creative-portfolio/static/css/fonts/ptsans-latin-bold.woff2 differ diff --git a/themes/jefklak-creative-portfolio/static/css/fonts/ptsans-latin-ext-bold.woff2 b/themes/jefklak-creative-portfolio/static/css/fonts/ptsans-latin-ext-bold.woff2 new file mode 100644 index 0000000..077fd71 Binary files /dev/null and b/themes/jefklak-creative-portfolio/static/css/fonts/ptsans-latin-ext-bold.woff2 differ diff --git a/themes/jefklak-creative-portfolio/static/css/fonts/ptsans-latin-ext.woff2 b/themes/jefklak-creative-portfolio/static/css/fonts/ptsans-latin-ext.woff2 new file mode 100644 index 0000000..e83baf1 Binary files /dev/null and b/themes/jefklak-creative-portfolio/static/css/fonts/ptsans-latin-ext.woff2 differ diff --git a/themes/jefklak-creative-portfolio/static/css/fonts/ptsans-latin.woff2 b/themes/jefklak-creative-portfolio/static/css/fonts/ptsans-latin.woff2 new file mode 100644 index 0000000..d6a62ec Binary files /dev/null and b/themes/jefklak-creative-portfolio/static/css/fonts/ptsans-latin.woff2 differ diff --git a/themes/jefklak-creative-portfolio/static/js/codex.js b/themes/jefklak-creative-portfolio/static/js/codex.js index d2e55a9..b8cecec 100644 --- a/themes/jefklak-creative-portfolio/static/js/codex.js +++ b/themes/jefklak-creative-portfolio/static/js/codex.js @@ -45,7 +45,7 @@ $(function() { $('.content-column-content a').each(function() { var me = $(this); var url = me.attr('href'); - if(url.startsWith('http') && url.indexOf(host) === -1) { + if(url && url.startsWith('http') && url.indexOf(host) === -1) { me.attr('target', '_blank').addClass('external'); } })