diff --git a/gergelypolonkaieu_site/plugins/custom_roles.py b/gergelypolonkaieu_site/plugins/custom_roles.py
index 7ce07dd..9012b2d 100644
--- a/gergelypolonkaieu_site/plugins/custom_roles.py
+++ b/gergelypolonkaieu_site/plugins/custom_roles.py
@@ -1,3 +1,5 @@
+from datetime import datetime
+
from docutils import nodes
from docutils.parsers import rst
@@ -14,10 +16,21 @@ def del_role(name, rawtext, text, lineno, inliner, options=None, content=None):
return [nodes.raw('', f'{text}', format='html')], []
+def exp_years_role(*args, **kwargs):
+ now = datetime.utcnow()
+ exp_range = now - datetime(1993, 9, 1)
+ exp_years = int(exp_range.total_seconds() / 31536000)
+
+ html_text = f'{exp_years}'
+
+ return [nodes.raw('', html_text, format='html')], []
+
+
def register_roles():
rst.roles.register_local_role('kbd', keyboard_role)
rst.roles.register_local_role('sup', superscript_role)
rst.roles.register_local_role('del', del_role)
+ rst.roles.register_local_role('exp_years', exp_years_role)
def register():