Migrate to Chi router and add Norwegian Devigo demo

Major improvements:
- Replace Gorilla Mux with Chi v5 router for better performance and cleaner code
- Fix CSS/JS MIME type issues that prevented proper asset loading
- Add built-in CORS middleware replacing manual OPTIONS handlers
- Simplify routing with nested route syntax
- Update URL parameter extraction from mux.Vars to chi.URLParam

New Devigo demo:
- Add production Norwegian sales training website (devigo.no)
- Real-world Hugo-generated content with TailwindCSS
- 39 insertr-enhanced elements for comprehensive CMS testing
- Demonstrates international language support and B2B use cases
- Fixed asset paths for localhost serving compatibility

Technical benefits:
- Automatic MIME type detection for static files
- Reduced code complexity with built-in middleware
- Better performance with lighter dependency stack
- Production-ready CORS handling
This commit is contained in:
2025-09-17 13:34:36 +02:00
parent 12c6ec8048
commit cd202ebb1d
87 changed files with 7737 additions and 71 deletions

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="600"
height="150"
viewBox="0 0 639.71932 159.92983"
version="1.1"
id="svg1"
xml:space="preserve"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><linearGradient
id="linearGradient27"><stop
style="stop-color:#fdbe00;stop-opacity:0.60326397;"
offset="0"
id="stop24" /><stop
style="stop-color:#ffbf00;stop-opacity:1;"
offset="0.24895304"
id="stop25" /><stop
style="stop-color:#ffbf00;stop-opacity:1;"
offset="0.74559295"
id="stop26" /><stop
style="stop-color:#ffbf00;stop-opacity:0.5;"
offset="1"
id="stop27" /></linearGradient><linearGradient
id="linearGradient14"><stop
style="stop-color:#99a024;stop-opacity:1;"
offset="0"
id="stop15" /><stop
style="stop-color:#000000;stop-opacity:1;"
offset="0.59368014"
id="stop14" /></linearGradient><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath12"><rect
style="opacity:0.73;fill:#808080;stroke:none;stroke-width:25.8093;stroke-dasharray:none"
id="rect13"
width="110.44633"
height="80.25853"
x="-312.28189"
y="182.2175"
ry="8.3687115" /></clipPath><linearGradient
xlink:href="#linearGradient27"
id="linearGradient24"
x1="-296.4393"
y1="221.15575"
x2="-212.80244"
y2="221.15575"
gradientUnits="userSpaceOnUse" /><linearGradient
xlink:href="#linearGradient27"
id="linearGradient1003"
x1="297.85858"
y1="188.08138"
x2="683.32751"
y2="188.08138"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0879091,0,0,1.0879091,-42.031151,-22.33766)" /></defs><g
id="layer1"
transform="translate(-70.752116,-102.47985)"><path
style="fill:url(#linearGradient24)"
d="m -285.14661,253.06175 c 0,-3.27597 -3.01679,-8.21941 -4.76202,-12.59971 -2.09864,-4.37784 -3.70203,-9.01442 -4.72242,-13.81898 -0.60695,-3.61222 -4.04453,-10.73727 0.53578,-11.80999 4.39319,1.1031 7.94714,4.26038 12.04436,6.12662 3.23761,2.23586 7.28439,5.57271 9.58711,7.10235 l 2.19312,1.22999 c 0.94505,-3.41336 1.56239,-5.61217 2.03457,-7.61507 0.46237,-1.91352 2.18619,-8.26566 2.60743,-9.89224 0.48344,-2.43766 1.55082,-6.8614 1.9827,-9.00938 0.45042,-1.60014 0.84935,-3.58747 1.36445,-5.88457 0.5294,-1.53773 1.45063,-5.29604 2.72265,-6.4671 2.3941,-5.13058 5.24471,2.37821 5.65585,3.20575 0.49247,1.10188 1.0787,2.30588 1.55864,3.2392 0.129,0.18389 1.52579,3.57929 2.06874,4.65835 1.80839,4.10212 2.34489,5.50629 3.80329,9.92734 1.75167,2.66332 2.72647,8.53905 6.02661,6.00401 2.60713,-3.31457 4.9425,-5.93137 6.91298,-9.09058 2.81888,-3.23294 5.13654,-6.87355 7.95219,-10.07102 4.62049,-3.19468 5.16556,3.82876 6.17581,7.08622 0.99604,4.2703 1.10667,8.76081 1.92175,13.23669 0.53491,5.0654 1.75127,10.02016 3.11885,14.78118 1.129,3.773 2.20003,10.6979 1.10215,12.93656 -0.36642,0.87934 -2.73644,0.90542 -4.09891,1.05545 -4.33279,0.37052 -8.15208,0.94811 -13.01617,1.42118 -4.40499,0.42921 -5.9455,0.65948 -10.4286,1.19674 -11.72768,1.32284 -23.15617,2.1081 -34.74205,3.01013 -2.51895,0.1617 -7.62257,1.34582 -9.59886,0.0409 z m 5.03152,-3.26226 c 11.08849,-1.70872 22.18972,-3.41198 33.33236,-4.74198 7.62422,-0.74035 18.25589,-2.01424 22.85825,-2.13216 3.9747,0.16043 7.19121,-1.50003 4.97687,-5.98385 -2.19519,-6.87738 -2.7663,-14.12638 -4.58023,-21.06207 -0.50507,-2.70443 -0.49206,-10.5095 -4.14677,-5.58974 -2.45504,3.80109 -3.0458,4.44603 -6.09738,7.88954 -1.74227,2.11665 -5.82616,6.41192 -7.33745,7.76015 -1.37734,0.16306 -1.92548,0.0561 -2.8222,-0.55657 -3.9649,-2.27742 -5.93118,-7.65699 -7.46841,-11.23906 -2.17324,-4.06097 -2.53871,-8.43502 -5.31935,-10.86376 -2.77523,3.30344 -2.66424,9.07644 -4.15346,13.39454 -0.83944,4.24038 -2.84075,14.21058 -4.4011,18.24591 -1.58738,2.43263 -3.45634,1.62575 -6.23643,-0.0256 -0.99945,-0.68547 -7.72789,-5.49139 -11.97481,-8.01831 -7.6852,-5.3216 -6.10656,-3.74361 -5.65029,-0.88398 0.10492,0.81241 0.44397,3.1353 1.54425,5.46866 0.32584,1.86517 2.59789,8.26471 3.31218,9.6252 0.83241,2.28532 2.21293,6.80295 4.16397,8.71311 z"
id="path7"
clip-path="url(#clipPath12)"
transform="matrix(2.3242299,0,0,2.3242299,759.74521,-331.57204)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:111.353px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:url(#linearGradient1003);fill-opacity:1;stroke-width:103.887"
x="273.43774"
y="222.25346"
id="text391"><tspan
id="tspan389"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:111.353px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:url(#linearGradient1003);fill-opacity:1;stroke-width:103.887"
x="273.43774"
y="222.25346">DEVIGO</tspan></text></g></svg>

After

Width:  |  Height:  |  Size: 5.3 KiB