diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d9ee096..e156fd0 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,7 +1,7 @@ // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-docker-compose { - "name": "Förderverein Niere e.V.", + "name": "xltoolbox.net", "dockerComposeFile": [ "../docker-compose.yml", "docker-compose.yml" diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index b193b32..7697f6f 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,7 @@ -# hugo-template +# xltoolbox.net -**Template for websites powered by Hugo.** +**Source code of xltoolbox.net, a website powered by Hugo.** -This uses YAML configuration files stored in `config/`. - -Customize the template as follows: - -- Edit `config/_default.hugo.yaml`. -- Change the project name in: - - `.devcontainer/devcontainer.json` - - `docker-compose.yml` -- Change the module name in `go.mod` to something else, e.g. the project's public repository URL. +This is the home of the xltoolbox.net site, which replaces the +ancient site of this Excel add-in that is no longer actively +maintained in 2026. diff --git a/assets/scss/main.scss b/assets/scss/main.scss new file mode 100644 index 0000000..1e75a31 --- /dev/null +++ b/assets/scss/main.scss @@ -0,0 +1,14 @@ +$primary: #005adb; +$secondary: #ef6000; +$success: #198754; +$danger: #dc3545; +$warning: #ffc107; +$info: #00a194; +$light: #f9f9f9; +$dark: #535455; + +$link-decoration: none; +$link-color: $secondary; + +@import "hugo_bootstrap_theme"; +@import "hugo_cookie_consent"; \ No newline at end of file diff --git a/config/_default/hugo.yaml b/config/_default/hugo.yaml index 3d77705..26a677d 100644 --- a/config/_default/hugo.yaml +++ b/config/_default/hugo.yaml @@ -1,3 +1,4 @@ -baseURL: https://example.org/ +baseURL: https://xltoolbox.net locale: en-us -title: My New Hugo Project +title: Daniel's XL Toolbox + diff --git a/config/_default/menu.yaml b/config/_default/menu.yaml new file mode 100644 index 0000000..5b89581 --- /dev/null +++ b/config/_default/menu.yaml @@ -0,0 +1,7 @@ +main: + - name: Source Code + url: https://github.com/bovender/XLToolbox + weight: 1 + - name: Download + url: https://github.com/bovender/XLToolbox/releases/download/v7.3.4/XLToolbox-7.3.4.exe + weight: 2 diff --git a/config/_default/module.yaml b/config/_default/module.yaml new file mode 100644 index 0000000..e3dfe2f --- /dev/null +++ b/config/_default/module.yaml @@ -0,0 +1,4 @@ +imports: + - path: git.bovender.de/daniel/hugo_bootstrap_theme + - path: git.bovender.de/daniel/hugo_cookie_consent + diff --git a/config/_default/params.yaml b/config/_default/params.yaml new file mode 100644 index 0000000..c7a44b3 --- /dev/null +++ b/config/_default/params.yaml @@ -0,0 +1,9 @@ +author: Daniel Kraus (bovender) + +hugo_cookie_consent: + privacy_policy_url: /privacy + enable_tracking: true + matomo_host: https://matomo.bovender.de + matomo_site_id: 3 + + diff --git a/config/development/hugo.yaml b/config/development/hugo.yaml new file mode 100644 index 0000000..e9538e1 --- /dev/null +++ b/config/development/hugo.yaml @@ -0,0 +1,2 @@ +baseURL: http://localhost:1313/ + diff --git a/config/development/module.yaml b/config/development/module.yaml new file mode 100644 index 0000000..a629813 --- /dev/null +++ b/config/development/module.yaml @@ -0,0 +1,2 @@ +workspace: hugo.work + diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..e4c19ee --- /dev/null +++ b/content/_index.md @@ -0,0 +1,69 @@ +--- +title: Daniel's XL Toolbox +date: 2026-08-08T11:47:23+0200 +draft: false +--- +{{< figure src="banner-2013.png" alt="Daniel's XL Toolbox" class="text-center mb-5" >}} + +This is the home of **Daniel's XL Toolbox**, an add-in for a popular +spreadsheet program that is aimed at scientists and other people who +work with data and visualizations. The add-in has been +[downloaded well over 200,000 times][stats], and it has been cited +several hundred times in the life science literature. + +This add-in was actively developed between 2008 and 2018, but is no longer +actively maintained. It is still useful though and does work with even with +current, up-to-date versions of the spreadsheet software. + +However, because this is no longer an active project, I have decided to retire +the old homepage which had not been updated for several years. + +You can still [download][] and install the add-in -- in fact, I still use it +whenever I use spreadsheet software. Which, admittedly, does not happen that +often anymore nowadays. But everybody should use the tool that serves them +best to accomplish a task. + +## What this add-in can do + +This add-in provides a number of functions that assist with data analysis +and visualization and with repetitive everyday tasks. + +**Data analysis:** Compute 1-way and 1-way ANOVAs, perform correlation and +regression analyses, build spreadsheet formulas automatically, allocate +subjects to treatment groups ("randomization"), produce complex histograms, +and transpose data such as multiwell plate reader data. + +**Data visualization:** Produce high-quality graphic files from your scientific +charts, export charts in batches, add error bars to charts, assist with uniform +chart design, add watermarks to your charts, add multiple new data series at +once, change and normalize chart sizes, copy a chart's format to another, +scale the text in a chart, point a chart to a different source data range, +change the order of data series in a chart, and spread (jitter) overlapping +data points. + +**Productivity:** Automatically save a time-stamped backup file whenever +you save your spreadsheet, manage multiple worksheets in your file, use +keyboard shortcuts for extra productivity, jump to a cell or range of +cells given an address that is written in plain text in another cell, +copy a print page setup, and make complex selections of cells. + +## What to do if you want to obtain publication-grade figures + +If you need high-quality graphs for a publication, you can of course still use this add-on. +There are modern alternatives, ranging from paid software to software that you can use +free of charge. + +I have become very fond of [R][], [ggplot2][], and the entire [Tidyverse][] ecossystem. +These tools allow me to analyze the data efficiently and obtain extactly the results +that I want, including vector-based figures, rather than raster images. It is not easy +to learn, but it is worth it! + +## Archive + +Here is a little archive of the old website: [Entrance to the museum]({{< relref "archive" >}}). + +[download]: https://github.com/bovender/XLToolbox/releases/download/v7.3.4/XLToolbox-7.3.4.exe +[ggplot2]: https://ggplot2.tidyverse.org +[R]: https://r-project.org +[stats]: https://tooomm.github.io/github-release-stats/?username=bovender&repository=xltoolbox +[Tidyverse]: https://tidyverse.org \ No newline at end of file diff --git a/content/archive/01-home.png b/content/archive/01-home.png new file mode 100644 index 0000000..8f936b8 Binary files /dev/null and b/content/archive/01-home.png differ diff --git a/content/archive/02-about.png b/content/archive/02-about.png new file mode 100644 index 0000000..132e2d7 Binary files /dev/null and b/content/archive/02-about.png differ diff --git a/content/archive/03-support.png b/content/archive/03-support.png new file mode 100644 index 0000000..f45d87a Binary files /dev/null and b/content/archive/03-support.png differ diff --git a/content/archive/04-citations.png b/content/archive/04-citations.png new file mode 100644 index 0000000..7fb3d34 Binary files /dev/null and b/content/archive/04-citations.png differ diff --git a/content/archive/05-donations.png b/content/archive/05-donations.png new file mode 100644 index 0000000..a42d195 Binary files /dev/null and b/content/archive/05-donations.png differ diff --git a/content/archive/06-citations.png b/content/archive/06-citations.png new file mode 100644 index 0000000..b78d14a Binary files /dev/null and b/content/archive/06-citations.png differ diff --git a/content/archive/11-anova-1way.png b/content/archive/11-anova-1way.png new file mode 100644 index 0000000..4ea9db6 Binary files /dev/null and b/content/archive/11-anova-1way.png differ diff --git a/content/archive/12-anova-2way.png b/content/archive/12-anova-2way.png new file mode 100644 index 0000000..e681c58 Binary files /dev/null and b/content/archive/12-anova-2way.png differ diff --git a/content/archive/13-correlation.png b/content/archive/13-correlation.png new file mode 100644 index 0000000..8330c11 Binary files /dev/null and b/content/archive/13-correlation.png differ diff --git a/content/archive/14-regression.png b/content/archive/14-regression.png new file mode 100644 index 0000000..cce8013 Binary files /dev/null and b/content/archive/14-regression.png differ diff --git a/content/archive/15-formula-builder.png b/content/archive/15-formula-builder.png new file mode 100644 index 0000000..7adb64e Binary files /dev/null and b/content/archive/15-formula-builder.png differ diff --git a/content/archive/16-group-allocation.png b/content/archive/16-group-allocation.png new file mode 100644 index 0000000..ac52dfb Binary files /dev/null and b/content/archive/16-group-allocation.png differ diff --git a/content/archive/17-multi-histogram.png b/content/archive/17-multi-histogram.png new file mode 100644 index 0000000..d6c2e8e Binary files /dev/null and b/content/archive/17-multi-histogram.png differ diff --git a/content/archive/18-transpose-wizard.png b/content/archive/18-transpose-wizard.png new file mode 100644 index 0000000..dc0a8c6 Binary files /dev/null and b/content/archive/18-transpose-wizard.png differ diff --git a/content/archive/21-graph-export.png b/content/archive/21-graph-export.png new file mode 100644 index 0000000..a5ddd1e Binary files /dev/null and b/content/archive/21-graph-export.png differ diff --git a/content/archive/22-batch-export.png b/content/archive/22-batch-export.png new file mode 100644 index 0000000..dcc212e Binary files /dev/null and b/content/archive/22-batch-export.png differ diff --git a/content/archive/23-error-bars.png b/content/archive/23-error-bars.png new file mode 100644 index 0000000..bb37409 Binary files /dev/null and b/content/archive/23-error-bars.png differ diff --git a/content/archive/24-format-chart.png b/content/archive/24-format-chart.png new file mode 100644 index 0000000..a44cb47 Binary files /dev/null and b/content/archive/24-format-chart.png differ diff --git a/content/archive/25-watermarks.png b/content/archive/25-watermarks.png new file mode 100644 index 0000000..0d3fe9d Binary files /dev/null and b/content/archive/25-watermarks.png differ diff --git a/content/archive/26-add-chart-series.png b/content/archive/26-add-chart-series.png new file mode 100644 index 0000000..ad269e5 Binary files /dev/null and b/content/archive/26-add-chart-series.png differ diff --git a/content/archive/27-annotate-charts.png b/content/archive/27-annotate-charts.png new file mode 100644 index 0000000..be585ad Binary files /dev/null and b/content/archive/27-annotate-charts.png differ diff --git a/content/archive/28-change-chart-size.png b/content/archive/28-change-chart-size.png new file mode 100644 index 0000000..e0959ef Binary files /dev/null and b/content/archive/28-change-chart-size.png differ diff --git a/content/archive/29-copy-chart-format.png b/content/archive/29-copy-chart-format.png new file mode 100644 index 0000000..75b2cf1 Binary files /dev/null and b/content/archive/29-copy-chart-format.png differ diff --git a/content/archive/30-chart-font-autoscale.png b/content/archive/30-chart-font-autoscale.png new file mode 100644 index 0000000..3867524 Binary files /dev/null and b/content/archive/30-chart-font-autoscale.png differ diff --git a/content/archive/31-move-extend-chart-range.png b/content/archive/31-move-extend-chart-range.png new file mode 100644 index 0000000..eccde23 Binary files /dev/null and b/content/archive/31-move-extend-chart-range.png differ diff --git a/content/archive/32-point-chart-to-data.png b/content/archive/32-point-chart-to-data.png new file mode 100644 index 0000000..2f985de Binary files /dev/null and b/content/archive/32-point-chart-to-data.png differ diff --git a/content/archive/33-series-order.png b/content/archive/33-series-order.png new file mode 100644 index 0000000..ee6aaa7 Binary files /dev/null and b/content/archive/33-series-order.png differ diff --git a/content/archive/34-spread-scatter.png b/content/archive/34-spread-scatter.png new file mode 100644 index 0000000..620a43a Binary files /dev/null and b/content/archive/34-spread-scatter.png differ diff --git a/content/archive/41-automatic-backups.png b/content/archive/41-automatic-backups.png new file mode 100644 index 0000000..edc069e Binary files /dev/null and b/content/archive/41-automatic-backups.png differ diff --git a/content/archive/42-worksheet-management.png b/content/archive/42-worksheet-management.png new file mode 100644 index 0000000..652e9d1 Binary files /dev/null and b/content/archive/42-worksheet-management.png differ diff --git a/content/archive/43-keyboard-shortcuts.png b/content/archive/43-keyboard-shortcuts.png new file mode 100644 index 0000000..f66b6ae Binary files /dev/null and b/content/archive/43-keyboard-shortcuts.png differ diff --git a/content/archive/44-jump-to-target.png b/content/archive/44-jump-to-target.png new file mode 100644 index 0000000..dd213e5 Binary files /dev/null and b/content/archive/44-jump-to-target.png differ diff --git a/content/archive/45-copy-page-setup.png b/content/archive/45-copy-page-setup.png new file mode 100644 index 0000000..e74471a Binary files /dev/null and b/content/archive/45-copy-page-setup.png differ diff --git a/content/archive/46-selection-assistant.png b/content/archive/46-selection-assistant.png new file mode 100644 index 0000000..c935db9 Binary files /dev/null and b/content/archive/46-selection-assistant.png differ diff --git a/content/archive/index.md b/content/archive/index.md new file mode 100644 index 0000000..9fe5a83 --- /dev/null +++ b/content/archive/index.md @@ -0,0 +1,112 @@ +--- +title: Archive +date: 2026-08-08T12:32:24+0200 +draft: false +layout: gallery +resources: + - src: "01-home.png" + params: + caption: "Home page" + - src: "02-about.png" + params: + caption: "About page" + - src: "03-support.png" + params: + caption: "Support information (obsolete)" + - src: "04-citations.png" + params: + caption: "List of citations" + - src: "05-donations.png" + params: + caption: "Donation page (obsolete)" + - src: "06-citations.png" + params: + caption: "More citations?" + - src: "11-anova-1way.png" + params: + caption: "1-way ANOVA" + - src: "12-anova-2way.png" + params: + caption: "2-way ANOVA" + - src: "13-correlation.png" + params: + caption: "Correlation" + - src: "14-regression.png" + params: + caption: "Linear regression" + - src: "15-formula-builder.png" + params: + caption: "Formula builder" + - src: "16-group-allocation.png" + params: + caption: "Group allocation (randomization)" + - src: "17-multi-histogram.png" + params: + caption: "Multi-histogram" + - src: "18-transpose-wizard.png" + params: + caption: "Transpose wizard" + - src: "21-graph-export.png" + params: + caption: "Chart export" + - src: "22-batch-export.png" + params: + caption: "Batch chart export" + - src: "23-error-bars.png" + params: + caption: "Error bars" + - src: "24-format-chart.png" + params: + caption: "Format charts" + - src: "25-watermarks.png" + params: + caption: "Watermarks for charts" + - src: "26-add-chart-series.png" + params: + caption: "Add new data series to charts" + - src: "27-annotate-charts.png" + params: + caption: "Annotate charts" + - src: "28-change-chart-size.png" + params: + caption: "Change chart size" + - src: "29-copy-chart-format.png" + params: + caption: "Copy chart format" + - src: "30-chart-font-autoscale.png" + params: + caption: "Automatically scale chart text" + - src: "31-move-extend-chart-range.png" + params: + caption: "Move or extend chart data ranges" + - src: "32-point-chart-to-data.png" + params: + caption: "Point chart to data range" + - src: "33-series-order.png" + params: + caption: "Change chart series order" + - src: "34-spread-scatter.png" + params: + caption: "Spread the points of a scatter plot (jitter)" + - src: "41-automatic-backups.png" + params: + caption: "Automatic versioned backups" + - src: "42-worksheet-management.png" + params: + caption: "Worksheet management" + - src: "43-keyboard-shortcuts.png" + params: + caption: "Keyboard shortcuts" + - src: "44-jump-to-target.png" + params: + caption: "Jump to a target address" + - src: "45-copy-page-setup.png" + params: + caption: "Copy page setup" + - src: "46-selection-assistant.png" + params: + caption: "Selection wizard/assistant" +--- + +Welcome to the museum. Below are screenshots of the old XL Toolbox website, +preserved for posterity. diff --git a/content/banner-2013.png b/content/banner-2013.png new file mode 100644 index 0000000..1bf2d1d Binary files /dev/null and b/content/banner-2013.png differ diff --git a/content/impressum.md b/content/impressum.md new file mode 100644 index 0000000..c82058a --- /dev/null +++ b/content/impressum.md @@ -0,0 +1,22 @@ +--- +title: Impressum +date: 2026-08-08T12:47:32+0200 +draft: false +--- +Daniel Kraus +c/o Klinik für Nephrologie +Im Neuenheimer Feld 162 +69120 Heidelberg + +Tel. (0 61 07) 7 56 88 40 + +E-Mail: daniel at xltoolbox.net + +Zum Schutz meiner Privatsphäre und er meiner Familie +ist meine Privatanschrift hier nicht veröffentlicht. +Die obenstehende Adresse ist die meines Arbeitgebers, +der aber weder diese Website noch das Softwareprojekt +beauftragt hat noch sonst in irgendeiner Weise etwas +hiermit zu tun hat. + +Ich bitte, von Telefonanrufen abzusehen. diff --git a/docker-compose.yml b/docker-compose.yml index 0917644..a69535a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ -name: Website powered by Hugo +name: xltoolbox.net services: build: image: ghcr.io/gohugoio/hugo:latest @@ -13,8 +13,8 @@ services: command: server --bind 0.0.0.0 -M --buildDrafts --buildFuture volumes: - ".:/project" - - "../../../../local/Code/hugo_bootstrap_theme:/hugo_bootstrap_theme" - - "../../../../local/Code/hugo_cookie_consent:/hugo_cookie_consent" + - "../../hugo_bootstrap_theme:/hugo_bootstrap_theme" + - "../../hugo_cookie_consent:/hugo_cookie_consent" ports: - "127.0.0.1:1313:1313" user: 1000:1000 diff --git a/go.mod b/go.mod index 694b446..3ad6c89 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,8 @@ -module website_powered_by_hugo +module git.bovender.de/daniel/xltoolbox.net.git -go 1.22 +go 1.26.3 require ( - git.bovender.de/daniel/hugo_bootstrap_theme v0.0.1 // indirect + git.bovender.de/daniel/hugo_bootstrap_theme v0.0.8 // indirect git.bovender.de/daniel/hugo_cookie_consent v0.0.6 // indirect ) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..3ee92cf --- /dev/null +++ b/go.sum @@ -0,0 +1,4 @@ +git.bovender.de/daniel/hugo_bootstrap_theme v0.0.8 h1:20U5sQ6YHbG6YP/+5+WcBkf8oB/gD/5bAyb1eQ8ONaM= +git.bovender.de/daniel/hugo_bootstrap_theme v0.0.8/go.mod h1:iLp7PY+cH8Cszxxx6XDGVS9kPdkH5qKdoUhIDQMpS+g= +git.bovender.de/daniel/hugo_cookie_consent v0.0.6 h1:q3AEinytbYYFIZ3hHIcmU+T+imEGBMQeaVXJIlhz8Po= +git.bovender.de/daniel/hugo_cookie_consent v0.0.6/go.mod h1:XTLK60q7Zlhjtw84Toe0l8C1tgPaVKcWRluceaig0o0= diff --git a/hugo.work b/hugo.work index 2a28e35..35fe1d6 100644 --- a/hugo.work +++ b/hugo.work @@ -1,5 +1,6 @@ -go 1.22 +go 1.26.3 use . -use ../hugo_cookie_consent use ../hugo_bootstrap_theme +use ../hugo_cookie_consent + diff --git a/layouts/404.html b/layouts/404.html new file mode 100644 index 0000000..4fb1ba5 --- /dev/null +++ b/layouts/404.html @@ -0,0 +1,34 @@ +{{ define "main" }} +
+ The page you were trying to navigate to was not found on this + server. +
++ Please not that the old XLToolbox.net site + has been retired. Navigate to the homepage to read more about this. +
+ +