Giter VIP home page Giter VIP logo

chatziiola / chatziiola.github.io Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 11.98 MB

My personal website, hosting notes, walkthroughs and insights while built using org-mode.

Home Page: https://blog.chatziiola.live/

License: GNU General Public License v3.0

Emacs Lisp 23.32% CSS 51.54% HTML 1.22% Makefile 2.20% Shell 3.20% Python 14.31% JavaScript 4.22%
emacs org org-mode blog cybersecurity personal-website walkthroughs

chatziiola.github.io's Introduction

Chasing Simplicity

Hello all!

This is my personal blog, built using emacs and org mode. Feel free to browse the repo if you are interested in the source code (it may be in spaghetti form, but I believe it is unique as far its performance and obviously implementation is taken into consideration), or to visit the web site itself and read its articles.

You can find the link for the web site here!

Starting Points

Structure

The site is built by publishing, through org-publish, org mode files into html. The actual conversion is specified in build-site.el.

The aspect I find the most unorthodox, and actually want to tackle, is the way that I have based everything on elisp, for which I do not know a lot. This causes:

  • The whole blog to be translated on every change, which even though it is relatively harmless when I publish on Github, happens only once and allows for detailed feedback, results in great time loss.

Task list

I plan to simplify the process as much as possible, allowing for easier publishing and more features, such as link previews, tag grouping, searches…and more. To do this, it is vital to build a scalable and easily maintainable core. I do not want to leave emacs (since I like the “hacky” aspect), so all that is left is

Functional

  • [ ] Check the way I always regenerate static files - maybe it is not necessary for my local repo, saving me time
  • [ ] Split index-generation and build, presumably by adding all variables to a separate file to be loaded
  • [ ] Split tasks and remove tasks that need not be in emacs from emacs
    • [ ] An example would be statically copying files -> easier as a make task.
  • [ ] Enforce common policies among articles
    • [ ] Images only in one parent directory: images, to avoid clutter
    • [ ] Tags on all articles, no need for categories

Cosmetics

  • [ ] Implement a better header
  • [ ] Table of contents to be movable on the side (in bigger screens)

Tools I use:

  • flameshot and org-download
    • This combination is unbelievable

chatziiola.github.io's People

Contributors

chatziiola avatar

Stargazers

 avatar

Watchers

 avatar

chatziiola.github.io's Issues

Unnumbered lists increment the numbered list prefixes

I do not know why so far but unnumbered lists nested within numbered ones increment the numberings on the latter ones, resulting in confusion. This behaviour does not occur in the org mode files, where the lists are separated and numbered properly, but comes after exporting.

I think that it is either the css fault (if I have a strange increment command there) or it will be much trickier to solve and I'll have to look on org-export and org-publish documentation.

This bug is apparent at many posts. Example:

SSD:Lec 6 not showing

  • Να την φτιάξω:
  • Εξτρα οταν το κλεισω να φτιάξω λίγο το css για τα παραδείγματα ώστε να
  • Έχει μπλε περίγραμμα, κατα προτίμηση με rounded άκρες
  • Τίτλο: Παράδειγμα

Add a README file

it won't require much effort, and it will make the repo feel a little bit more cared for

Self-generating index pages

Most important of them would be posts/index.html since the associated org file does not exist (and I would rather not make it).

Further split github action

It would be nice to split (especially the emacs-content-generating part of) the lisp scripts into smaller (easier to view) github actions so that in case of future failures we can always get the most out of our time without having to look through unnecessarily big output logs.

Index with content fails when equations and or images are included

Even though they have nothing to do with each other, images and equations cause problems when a multipost page (with content) is created.

The reason why multipost pages with images fail under these circumstances is the usage of relative path for insertion of images by me which, after them being rendered, causes broken links.

While, at the same time, equations encounter problems with each other due to the label naming standard that's been implemented. The obvious solution here is not site specific, but configuration specific and focuses on creating unique labels for my equations at every step of the way

org-static-blog.el and index-generator.el refactored

  • Make sure that there is nothing hardcoded in there and everything (that needs to be modifiable) can be changed either through variables or through the associated function's parameters
  • Clean the code up (more than a little bit), and maybe create a diagram somewhere (it might be ideal to delete functions there)
  • Consider merging the two files and submitting them to the main repo.

Split bash file

Split bash file into numerous actions for the github interface. More specifically, keep a bash file complete to use locally, but split it into more actions in the Github Actions yml file, so that you get informed of any errors that occur. Last time, emacs exited unexpectedly because of a broken link inside a lecture, yet I did not see any feedback. I noticed the error because I was not able to see lectures I knew were already published.

Source block type at the left of the source block

Since I modified the pre.src property to overflow: scroll; I am no longer able to view the type of the source block on the left as it used to be. This was one of the key elements I had liked so much on rougier's css initially, which made me select it. Now, overflow: scroll is necessary to ensure that big lines of code do not exceed the code block, like they did in the past, however, it would be nice to have the 'type-of-source-block' property up again.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.