diff --git a/i2p2www/extensions.py b/i2p2www/extensions.py
index 8442930a..27d6f677 100644
--- a/i2p2www/extensions.py
+++ b/i2p2www/extensions.py
@@ -105,13 +105,13 @@ class HighlightExtension(Extension):
if ctags:
if 'tagsfile' not in parameters:
- parameters['tagsfile'] = module_path() + '/pages/site/spectags'
+ parameters['tagsfile'] = module_path() + '/spec/spectags'
if 'tagurlformat' not in parameters:
lang = 'en'
if hasattr(g, 'lang') and g.lang:
lang = g.lang
- parameters['tagurlformat'] = '/' + lang + '/%(path)s%(fname)s'
+ parameters['tagurlformat'] = '/spec/%(path)s%(fname)s'
if formatter == 'textspec':
formatter = TextSpecFormatter(**parameters)
diff --git a/i2p2www/formatters.py b/i2p2www/formatters.py
index ce4c58f8..a5987b68 100644
--- a/i2p2www/formatters.py
+++ b/i2p2www/formatters.py
@@ -727,8 +727,8 @@ class I2PHtmlFormatter(Formatter):
filename, extension = os.path.splitext(filename)
url = self.tagurlformat % {'path': base, 'fname': filename,
'fext': extension}
- parts[0] = "%s" % \
- (url, kinds[kind], value, parts[0])
+ parts[0] = "%s" % \
+ (url, kinds[kind], value.lower(), parts[0])
parts[-1] = parts[-1] + ""
# for all but the last line
@@ -876,7 +876,7 @@ class TextSpecFormatter(Formatter):
filename, extension = os.path.splitext(filename)
url = self.tagurlformat % {'path': base, 'fname': filename,
'fext': extension}
- refs[value] = '\n[%s]: %s#%s_%s' % (value, url, kinds[kind], value)
+ refs[value] = '\n[%s]: %s#%s-%s' % (value, url, kinds[kind], value.lower())
value = '[%s]' % value
if enc:
diff --git a/i2p2www/pages/site/spectags b/i2p2www/pages/site/spectags
deleted file mode 100644
index 5033c3ba..00000000
--- a/i2p2www/pages/site/spectags
+++ /dev/null
@@ -1,76 +0,0 @@
-!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
-!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
-!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
-!_TAG_PROGRAM_NAME Exuberant Ctags //
-!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
-!_TAG_PROGRAM_VERSION 5.9~svn20110310 //
-BandwidthLimits docs/spec/i2cp.html 588;" m
-Boolean docs/spec/common-structures.html 74;" t
-BuildRequestRecord docs/spec/i2np.html 183;" s
-BuildResponseRecord docs/spec/i2np.html 353;" s
-Certificate docs/spec/common-structures.html 296;" t
-CreateLeaseSet docs/spec/i2cp.html 630;" m
-CreateSession docs/spec/i2cp.html 668;" m
-Data docs/spec/i2np.html 1118;" m
-DatabaseLookup docs/spec/i2np.html 688;" m
-DatabaseSearchReply docs/spec/i2np.html 835;" m
-DatabaseStore docs/spec/i2np.html 590;" m
-Date docs/spec/common-structures.html 51;" t
-DeliveryInstructions docs/spec/common-structures.html 1010;" s
-DeliveryStatus docs/spec/i2np.html 910;" m
-DestLookup docs/spec/i2cp.html 697;" m
-DestReply docs/spec/i2cp.html 719;" m
-Destination docs/spec/common-structures.html 639;" s
-Disconnect docs/spec/i2cp.html 763;" m
-Garlic docs/spec/i2np.html 948;" m
-GarlicClove docs/spec/i2np.html 395;" s
-GarlicCloveDeliveryInstructions docs/spec/i2np.html 454HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Connection: close
Transfer-Encoding: chunked
Cache-Control: max-age=0, private, must-revalidate, no-transform
Set-Cookie: i_like_gitea=25301dd026831665; Path=/; HttpOnly; Secure; SameSite=Lax
Set-Cookie: _csrf=DvBwqM67rwbJEynUMmREurS_fiw6MTc1MzI0NDY0NjI4ODcxNjI1MQ; Path=/; Max-Age=86400; HttpOnly; Secure; SameSite=Lax
X-Frame-Options: SAMEORIGIN
Date: Wed, 23 Jul 2025 04:24:06 GMT
X-Cache-Status: HIT
X-Cache-Age: 0
5cb3
diff --git a/i2p2www/extensions.py b/i2p2www/extensions.py
index 8442930a..27d6f677 100644
--- a/i2p2www/extensions.py
+++ b/i2p2www/extensions.py
@@ -105,13 +105,13 @@ class HighlightExtension(Extension):
if ctags:
if 'tagsfile' not in parameters:
- parameters['tagsfile'] = module_path() + '/pages/site/spectags'
+ parameters['tagsfile'] = module_path() + '/spec/spectags'
if 'tagurlformat' not in parameters:
lang = 'en'
if hasattr(g, 'lang') and g.lang:
lang = g.lang
- parameters['tagurlformat'] = '/' + lang + '/%(path)s%(fname)s'
+ parameters['tagurlformat'] = '/spec/%(path)s%(fname)s'
if formatter == 'textspec':
formatter = TextSpecFormatter(**parameters)
diff --git a/i2p2www/formatters.py b/i2p2www/formatters.py
index ce4c58f8..a5987b68 100644
--- a/i2p2www/formatters.py
+++ b/i2p2www/formatters.py
@@ -727,8 +727,8 @@ class I2PHtmlFormatter(Formatter):
filename, extension = os.path.splitext(filename)
url = self.tagurlformat % {'path': base, 'fname': filename,
'fext': extension}
- parts[0] = "%s" % \
- (url, kinds[kind], value, parts[0])
+ parts[0] = "%s" % \
+ (url, kinds[kind], value.lower(), parts[0])
parts[-1] = parts[-1] + ""
# for all but the last line
@@ -876,7 +876,7 @@ class TextSpecFormatter(Formatter):
filename, extension = os.path.splitext(filename)
url = self.tagurlformat % {'path': base, 'fname': filename,
'fext': extension}
- refs[value] = '\n[%s]: %s#%s_%s' % (value, url, kinds[kind], value)
+ refs[value] = '\n[%s]: %s#%s-%s' % (value, url, kinds[kind], value.lower())
value = '[%s]' % value
if enc:
diff --git a/i2p2www/pages/site/spectags b/i2p2www/pages/site/spectags
deleted file mode 100644
index 5033c3ba..00000000
--- a/i2p2www/pages/site/spectags
+++ /dev/null
@@ -1,76 +0,0 @@
-!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
-!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
-!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
-!_TAG_PROGRAM_NAME Exuberant Ctags //
-!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
-!_TAG_PROGRAM_VERSION 5.9~svn20110310 //
-BandwidthLimits docs/spec/i2cp.html 588;" m
-Boolean docs/spec/common-structures.html 74;" t
-BuildRequestRecord docs/spec/i2np.html 183;" s
-BuildResponseRecord docs/spec/i2np.html 353;" s
-Certificate docs/spec/common-structures.html 296;" t
-CreateLeaseSet docs/spec/i2cp.html 630;" m
-CreateSession docs/spec/i2cp.html 668;" m
-Data docs/spec/i2np.html 1118;" m
-DatabaseLookup docs/spec/i2np.html 688;" m
-DatabaseSearchReply docs/spec/i2np.html 835;" m
-DatabaseStore docs/spec/i2np.html 590;" m
-Date docs/spec/common-structures.html 51;" t
-DeliveryInstructions docs/spec/common-structures.html 1010;" s
-DeliveryStatus docs/spec/i2np.html 910;" m
-DestLookup docs/spec/i2cp.html 697;" m
-DestReply docs/spec/i2cp.html 719;" m
-Destination docs/spec/common-structures.html 639;" s
-Disconnect docs/spec/i2cp.html 763;" m
-Garlic docs/spec/i2np.html 948;" m
-GarlicClove docs/spec/i2np.html 395;" s
-GarlicCloveDeliveryInstructions docs/spec/i2np.html 454
0