all repos — eureka @ 89ef84cdbcc4c2f6e0af4154753c27385b66bc38

static site generator based on the 100r.co engine

add hyperlink templating and rename some functions
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmB8/+YACgkQO3+8IhRO
Y5gIqhAAlCR1n7+GstDNZvPXgFi7CsBAbfJPck2BRfK9UzMlVuJcOQfwy9p9JLWd
IC2j/B+5kNdedEWTKjx0m0hwwhMW3KcJUbtM4uLrDWfgABn9XyUcmiXI17ZnLy1B
Q/xp99jfFVboWqAc6v7mP0Fw5CRAjpE9VpBPeru+2oleNumMhcp9Cpewq0LpyJ/f
EL8cIDBcR1B90r6DZm0GaL7Iu5m34xe+Xr1eNhzkogpY2qmdHxKvcUlZhvqZeqZu
2GgKD/XZh3xJ6AYwNv/fcybK22j5do0gL0f5ObFwHvuD18i1c/u+iyip13XHdmOZ
EkO+KT9WcP3NO6AK3v9ruvl6v0XegBlbvsRPOQTi71Sz7zSQ54JkcBPpFhruQIbD
xnI1qLAQvBmtqUenlubMFKvq09vemMNV1JZ7zFbDVWA91CetzDW5hybKmKdHoCkb
cYb4MYodsVRG6Fh8FQhZbBSWuQTk30X7+72ZLndyK9fACRnDFBWlj1kslXcQmHIr
8GIcj+l+fOlhmdk9z3/Ps+Yjjzfwx529Bu8UdpV22dv5AKqinkN0abSSRXAaOUaB
CVF5yFRHSoXrNnb4CuyjRrfcOjMR4RDGtRa6/wGjAa/3EZUGCU3YOGDWw+M0kJdZ
jFipzzv1ke1xG6IVwAindXp9ODqdL4S4G/E2q5WbtknoHz4jEgQ=
=H75U
-----END PGP SIGNATURE-----
commit

89ef84cdbcc4c2f6e0af4154753c27385b66bc38

parent

b369ba3a624eb70e0431f0fc39404d0499ad59b6

1 files changed, 29 insertions(+), 2 deletions(-)

jump to
M main.cmain.c

@@ -105,6 +105,31 @@ l->refs[target]++;

return 1; } +int fphref(FILE* f, char* s) { + char href[1024] = {0}; + char txt[1024] = {0}; + + char* c = s; + int i = 0; + while (i < 2) { + if (*c == '|' || !(*c)) { + i++; + c++; + continue; + } + switch (i) { + case 0: + ccat(href, *c++); + break; + case 1: + ccat(txt, *c++); + break; + } + } + fprintf(f, "<a href='%s'>%s</a>", href, txt); + return 1; +} + int fpimg(FILE* f, char* s) { char id[1024] = {0}; char src[1024] = {0};

@@ -137,7 +162,7 @@ fputs("</a>", f);

return 1; } -int fpimgl(FILE* f, char* s) { +int fphimg(FILE* f, char* s) { char id[1024] = {0}; char href[1024] = {0}; char src[1024] = {0};

@@ -184,10 +209,12 @@ int fptemplate(FILE* f, Lexicon* l, char* s) {

int target; if (s[0] == '/') return fpportal(f, l, s + 1, 1); + if (s[0] == '*') + return fphref(f, s + 1); if (s[0] == ':') return fpimg(f, s + 1); if (s[0] == '?') - return fpimgl(f, s + 1); + return fphimg(f, s + 1); if (s[0] == '_') return fpaudio(f, s + 1); target = findf(l, s);