diff --git a/components/content/ImageWrapper.tsx b/components/content/ImageWrapper.tsx index 45fde8b..cc59973 100644 --- a/components/content/ImageWrapper.tsx +++ b/components/content/ImageWrapper.tsx @@ -25,8 +25,8 @@ export function ImageWrapper({ src, alt, isListing }: ImageWrapperProps) { {alt
diff --git a/components/post/ShareLinks.tsx b/components/post/ShareLinks.tsx index 8be58f2..426c4b0 100644 --- a/components/post/ShareLinks.tsx +++ b/components/post/ShareLinks.tsx @@ -38,7 +38,7 @@ export function ShareLinks({ url, title, description }: ShareLinksProps) { return (
{networks.map(({ name, icon, href }) => ( - + +Frank diff --git a/content/posts/life-update.md b/content/posts/life-update.md new file mode 100644 index 0000000..af5a45d --- /dev/null +++ b/content/posts/life-update.md @@ -0,0 +1,37 @@ +--- +title: Life Update +description: A life update post sharing recent events, projects, and personal goals. Learn about my university studies, personal projects, books, and games. +date: 2024-09-26 10:00:00 +0200 +category: Life +tags: [life, update, personal, projects, goals] +--- + +Welp, it's been a while since I last posted here, and I thought it was about time for a little life update. A lot has happened in the past month, and I wanted to share some of the highlights with you. + +## University + +I am currently in my first year of university, and am studying MIS (Management Information Systems) on Technical University of Liberec. Yeah, I am an economy major, but I am also a programmer, so I decided to go for MIS. It has been about two weeks since the semester started, and some of the subjects are beyond easy for me, like Basics of Programming (last lecture was about bits and bytes, I mean come on). I guess as most of the other students are from economy fields, they are struggling with it, but I am not complaining. But some other subjects are supposed to be hard, like Microeconomics, from what I have heard, in the first term only 26% of students pass the exam, and on the retake only additional 18% pass. But I am not worried, I have always been good at math and economy, so I think I will be fine. + +## Personal life & Projects + +As of late, I have sadly not been able to work on my projects as much as I would like. Between university, studying, and other commitments, I have had to put some of my personal projects on hold. However, I am planning to get back to them soon, as I have some exciting ideas that I can't wait to explore. I still have my gamified journaling project in the works, and one new idea that I am really excited about is a online exam system that evaluates the answers (for open ended questions) using AI. I created a simple prototype for it, where you can input a question, an answer and maximum points, and it will evaluate the answer and give you the points. I am planning on expanding this project and making it more user-friendly and robust. + +On a personal note, I have been trying to maintain a healthy work-life balance, which can be challenging at times. I have been going to the gym regularly (6-7 days a week), which has been a great way to stay active and clear my mind. Currently I am on a bulk, so I am eating a lot (3500-4000 kcal a day) and I am seeing some great progress, and have gained about 2 kg in the past 3 weeks. I am planning on bulking for about 2 more months (or until I reach 90 kg, currently I sit at 85 kg) and then I will start cutting. + +## Books & Games + +I have been reading a lot lately, mostly self-development books, as I am trying to improve myself and my life. Some of the books I have read (or re-read) recently include: + +- **"Atomic Habits" by James Clear**: This book explores the power of small habits and how they can lead to significant changes in your life. It offers practical strategies for building good habits and breaking bad ones. +- **"Deep Work" by Cal Newport**: This book explores the concept of deep work and how it can lead to increased productivity and focus. It offers strategies for minimizing distractions and maximizing your cognitive abilities. + +As for games, I have not had much time to play lately, which is a shame. And even when I do have some free time, I usually spend it on coding or reading, as most of the times I do not feel like playing games, even though I have a lot of games in my backlog. But I am planning on playing some games soon, as I have been missing the experience of getting lost in a good story or exploring a new world. + +## Conclusion + +That's about it for now. I hope you enjoyed this little update on my life and projects. I am excited to see what the future holds and to share more of my journey with you. + +Best,
+Frank + +P.S. I am still working on the post about spins, I have not forgotten about it, I just have not had the time to finish it. But I am planning on finishing it soon, so stay tuned! diff --git a/content/posts/self-development.md b/content/posts/self-development.md index f38d000..8a4d536 100644 --- a/content/posts/self-development.md +++ b/content/posts/self-development.md @@ -1,7 +1,6 @@ --- title: Self-Development and Gamification of Life description: In this post, I explore the concept of self-development and how gamification can be used to enhance productivity and personal growth. Learn how to turn your life into a game and level up your skills! -author: hangerthem date: 2024-08-05 22:00:00 +0200 category: Personal Development tags: [self-development, gamification, productivity, growth] diff --git a/content/posts/standard-model.md b/content/posts/standard-model.md index dea2ad7..a3e9291 100644 --- a/content/posts/standard-model.md +++ b/content/posts/standard-model.md @@ -1,9 +1,7 @@ --- title: Standard Model of Particle Physics description: This post provides an overview of the Standard Model of particle physics, including its basic components and interactions. It covers fundamental particles, forces, and the Higgs mechanism, highlighting key concepts and limitations of the model. -author: hangerthem -date: 2023-08-20 21:15:00 +0200 -updated: 2026-08-05 22:00:00 +0200 +date: 2024-08-20 21:15:00 +0200 category: Physics tags: [ @@ -29,7 +27,7 @@ tags: ] math: true mermaid: true -coverImage: standard_model.svg +coverImage: standard_model.png coverImageAlt: Overview of the fundamental particles and forces in the Standard Model of particle physics. --- diff --git a/content/posts/test-post.md b/content/posts/test-post.md deleted file mode 100644 index 23c7071..0000000 --- a/content/posts/test-post.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: Hello, world -description: This is the first post on the gly.cz blog. -date: 2026-07-23 15:00:00 +0200 -author: hangerthem -category: Blog -coverImage: image.png -coverImageAlt: A picture of the hello world text in green on a black background. -math: true -mermaid: true ---- - -Welcome to the gly.cz blog. Posts here are written in Markdown and turned into static HTML by ==Eleventy==. - -## Writing a post - -Add a Markdown file to `src/blog` with a title, description, and date in its front matter: - -```md ---- -title: A post title -description: A short summary. -date: 2026-07-22 -author: hangerthem ---- - -Your post starts here. -``` - -The surrounding layout is a React component, while Tailwind Typography styles the generated article HTML. - -You can also use other code blocks in your Markdown, like this: - -```ts -function helloWorld() { - console.log('Hello, world!') -} -``` - -Or you can use inline code like `console.log("Hello, world!")` in your Markdown. - -### Images - -You can add images to your posts by placing them in the `src/assets/blog`[^1] directory and referencing them in your Markdown: - -```md -![Alt text](image.png) -``` - -It will be rendered as: - -![A picture of the hello world text in green on a black background.](image.png) - -> [!TIP] You can also use `>` to add blockquotes to your posts. - -| Column 1 | Column 2 | Column 3 | -| -------- | -------- | -------- | -| Cell 1 | Cell 2 | Cell 3 | -| Cell 4 | Cell 5 | Cell 6 | - -$$ -\frac{1}{2} + \frac{1}{3} = \frac{5}{6} -$$ - -1. First item[^2] -2. Second item -3. Third item - -- First item -- Second item -- Third item - ---- - -this is an [external link](https://example.com) - -and this is an [internal link](/about) - -```mermaid -graph TD; - A[Start] --> B{Is it working?}; - B -- Yes --> C[Great!]; - B -- No --> D[Check the code]; - D --> B -``` - -Term 1 -: Definition for term 1. - -Term 2 -: Definition A for term 2. -: Definition B for term 2, on a new line. - -- [ ] Task 1 -- [x] Task 2 - -[^1]: The `src/assets/blog` ==directory== is where you can place images for your blog posts. You can reference them in your Markdown using the relative path to the image file. - -[^2]: You can also add footnotes to your posts. This is a footnote reference, and the footnote text is at the bottom of the post. diff --git a/content/posts/vigilare-custom-dashboard.md b/content/posts/vigilare-custom-dashboard.md new file mode 100644 index 0000000..0d5870e --- /dev/null +++ b/content/posts/vigilare-custom-dashboard.md @@ -0,0 +1,208 @@ +--- +title: "Vigilare: A Local-First Productivity Dashboard" +description: Introducing Vigilare, a local-first, customizable productivity dashboard built with Next.js. Designed for developers and technical users, Vigilare offers a distraction-free way to manage links, notes, commands, and service status without logins or cloud dependencies. +date: 2026-02-07 14:00:00 +0200 +categories: [Productivity, Tech] +tags: [vigilare, dashboard, productivity, browser, organization, focus] +--- + +Most productivity tools try to do everything, and end up doing too much. + +They sync endlessly, phone home constantly, and bury simple actions behind dashboards, accounts, and subscriptions. + +Vigilare started as a reaction to that. + +It's a local-first, customizable productivity dashboard built with Next.js, designed for developers and technical users who want one place to manage links, notes, commands, and service status, without logins, clouds, or distractions. + +Check it out at [vigilare.vercel.app](https://vigilare.vercel.app) or see the [GitHub repo](https://github.com/HangerThem/vigilare) for the code. + +## Why Vigilare Exists + +If your daily workflow looks anything like this: + +- A collection of important links you keep "temporarily" in bookmarks +- Notes scattered between editors, files, and random apps +- Useful commands +- Services that you need to be checking + +…then you already know the problem. + +Vigilare is meant to live in a browser tab that stays open all day. + +It's fast, keyboard-driven, and intentionally boring in the best way possible. + +No accounts. +No backend. +No tracking. + +Just your tools, your data, your machine. + +## What Vigilare Can Do + +Vigilare is built around focused panels instead of one giant "do everything" interface. + +### Links Panel + +Save and organize frequently used links into simple categories like Work, Personal, or Study. +No nesting rabbit holes, just fast access. + +### Notes Panel + +Lightweight notes with basic organization. +Good for things you need often, not a full second-brain system. + +### Commands Panel + +Store shell commands, snippets, or setup notes with syntax highlighting. +This alone replaces a surprising number of scattered files and old gists. + +### Status Panel + +Monitor websites or services and get real-time availability checks. +If something goes down, or comes back up, you'll know via browser notifications. + +### Global Search & Command Palette + +Everything is searchable and actionable via the keyboard: + +- `Ctrl/Cmd + P` - Global search +- `Ctrl/Cmd + K` - Command palette + +If you prefer the keyboard over clicking around, Vigilare is built for you. + +## Design Philosophy + +The UI is intentionally minimal: + +- Light, Dark, and System themes +- Subtle animations via Framer Motion +- Drag & drop reordering where it actually helps +- Clear offline detection when connectivity drops + +The goal is to stay out of your way, not to be a distraction or a "fun" app. + +## Local-First by Design + +All Vigilare data lives in your browser's local storage. + +That means: + +- No servers +- No sync delays +- No privacy concerns + +If you want portability, you can export everything as JSON and import it elsewhere. +It's simple, transparent, and predictable. + +## Progressive Web App (PWA) + +Vigilare works as a Progressive Web App, meaning it can be installed and used like a native application while remaining entirely web-based. + +As a PWA, Vigilare: + +- Works fully offline +- Launches instantly from your system +- Runs in its own window, separate from the browser +- Persists data locally without relying on external services + +This makes it ideal as a "always-open" workspace, whether pinned, installed, or running alongside your editor and terminal. + +No app store. +No updates pushed remotely. +Just a web app that behaves like a proper tool. + +## Keyboard-First Workflow + +Vigilare is meant to stay out of your way. Most actions are accessible without touching the mouse: + +| Shortcut | Action | +| ---------------------- | --------------- | +| `Ctrl/Cmd + K` | Command palette | +| `Ctrl/Cmd + P` | Global search | +| `Ctrl/Cmd + L` | New link | +| `Ctrl/Cmd + Shift + N` | New note | +| `Ctrl/Cmd + Shift + C` | New command | +| `Ctrl/Cmd + S` | New status | +| `Ctrl/Cmd + I` | View shortcuts | +| `Ctrl/Cmd + ,` | Open settings | + +Once muscle memory kicks in, the UI almost disappears. + +## What's Next + +Vigilare isn't finished, but it's also not on a path toward becoming a bloated platform. + +Future development focuses on customization and flexibility, without sacrificing the local-first, distraction-free core. + +### Layouts & Profiles + +One of the main goals is to let Vigilare adapt to how you work: + +- Multiple layouts or profiles (e.g. Work, Study, Personal) +- Per-profile panel visibility and ordering +- Different shortcuts or defaults per layout + +Not everyone needs every panel all the time. +Vigilare should make it easy to hide what you don't need and surface what you do. + +### Modular by Design + +Rather than hard-coding one "correct" setup, I want Vigilare to be modular and adaptable: + +- Panels that can be enabled, disabled, or replaced +- Optional features that stay out of the way unless explicitly enabled +- A core that remains small and understandable + +Status monitoring, commands, or notes should feel like tools you chose, not features you're stuck with. + +### Extensibility & Plugins + +Longer-term, I want Vigilare to grow a lightweight plugin system: + +- Simple, well-defined extension points +- Local-only by default +- Easy to add, easy to remove + +This would make it possible to create custom panels or behaviors, and even share them, without turning Vigilare into an app store or ecosystem you have to buy into. + +If plugins exist, they should feel closer to configuration than a marketplace. + +### Still Local-First + +Even as Vigilare becomes more flexible, some things won't change: + +- No required accounts +- No mandatory sync +- No background services phoning home + +Sharing or collaboration may exist one day, but it won't be the foundation the app is built on. + +## Who Is This For? + +Vigilare is probably for you if you: + +- Spend most of your day in a browser +- Prefer tools that work offline +- Like keyboard shortcuts more than menus + +It's not trying to replace Notion, Obsidian, or Jira. +It's the thing you keep open next to them. + +## Open Source & Contributions + +Vigilare is fully open source under the MIT license. + +If something feels off, missing, or unnecessary, change it. +PRs are welcome, and the project is intentionally easy to reason about and extend. + +## Final Thoughts + +Vigilare is a personal project born out of frustration with the current state of productivity tools. + +It's not trying to be the next big thing, just a better way to manage the small but essential parts of my workflow. + +If you think it could help you too, give it a try. +Feedback, issues, and contributions are all appreciated. + +Best,
+Frank diff --git a/public/posts/image.png b/public/posts/image.png deleted file mode 100644 index e4c5ee8..0000000 Binary files a/public/posts/image.png and /dev/null differ diff --git a/public/posts/standard_model.png b/public/posts/standard_model.png new file mode 100644 index 0000000..6ba80bc Binary files /dev/null and b/public/posts/standard_model.png differ diff --git a/public/posts/standard_model.svg b/public/posts/standard_model.svg index d5aeac8..76e74ab 100644 --- a/public/posts/standard_model.svg +++ b/public/posts/standard_model.svg @@ -1655,4 +1655,4 @@ x="228.92603" y="37.734058">BOSONS - FORCE CARRIERS - \ No newline at end of file + diff --git a/types/Post.type.ts b/types/Post.type.ts index 704a77f..b62c091 100644 --- a/types/Post.type.ts +++ b/types/Post.type.ts @@ -2,7 +2,6 @@ export interface PostMeta { slug: string title: string description: string - author: string date: string updated?: string category: string