Skip to content

Instantly share code, notes, and snippets.

View ertgl's full-sized avatar

Ertuğrul Noyan Keremoğlu ertgl

View GitHub Profile

Component-Oriented UI Development with Mako for Django

For more than a decade, Django's template system has been a model of stability and reliability. Its block and inheritance approach is simple, solid, and effective for many projects. Yet, when building user interfaces in a component-oriented style, its limitations become apparent. Another built-in backend, Jinja, extends these boundaries with macros and allows for more flexible templates. Yet, some projects demand even greater composability.

Webpack's Internals Visualized: From Hooks to Graphs

At the heart of webpack lies a powerful architecture built from numerous plugins working together in perfect harmony. These plugins communicate and coordinate through tapable hooks, forming the backbone of webpack's extensibility. Although originally developed for webpack, tapable is a standalone library designed for building hook-based systems with JavaScript. It allows to expose well-structured extension points using a publish/subscribe model, where subscribers “tap” into hooks and publishers “call” them when those hooks are triggered.

@ertgl
ertgl / format_exported_py_symbols.py
Last active August 19, 2025 21:57
Fixes the formatting of exported symbols in Python source files.
# MIT License
#
# Copyright (c) 2024 Ertuğrul Keremoğlu <ertugkeremoglu@gmail.com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions: