[gimp-web-devel/hugo: 2/16] hugo website translation
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp-web-devel/hugo: 2/16] hugo website translation
- Date: Sat, 6 Aug 2022 14:04:34 +0000 (UTC)
commit ad57970b1e4b59b343fabeff29e22c82df71788a
Author: robin-swift <robinswiftart gmail com>
Date: Tue Jul 19 20:01:23 2022 +0100
hugo website translation
.gitignore | 6 -
.hugo_build.lock | 0
Makefile | 35 +-
about.xml | 30 -
api/2.0/index.html | 37 -
bugs.xml | 57 -
changelog.xml | 30 -
config.toml | 129 ++
content/_index.md | 21 +
{api => content/api}/2.0/libtest/test.txt | 0
{style => content}/default.css | 6 +-
{gimpcon => content/gimpcon}/2000/people-small.jpg | Bin
gimpcon2003.xml => content/gimpcon/2003/_index.md | 12 +-
.../gimpcon/2003/gimpcon2003-mins-1.md | 9 +-
.../gimpcon/2003/gimpcon2003-mins-2.md | 9 +-
.../gimpcon/2003/gimpcon2003-mins-3.md | 9 +-
.../gimpcon/2003/gimpcon2003-mins.md | 13 +-
{gimpcon => content/gimpcon}/2003/people-small.png | Bin
{gimpcon => content/gimpcon}/2003/people.png | Bin
{gimpcon => content/gimpcon}/2004/Dave_Neary.jpg | Bin
{gimpcon => content/gimpcon}/2004/Oyvind_Kolas.png | Bin
gimpcon2004.xml => content/gimpcon/2004/_index.md | 10 +-
{gimpcon => content/gimpcon}/2004/gnu-head-sm.jpg | Bin
.../gimpcon}/2004/mac_gimp_logo4.png | Bin
.../gimpcon}/2004/macosx_screenshot1_thumb.jpg | Bin
gimpcon2006.xml => content/gimpcon/2006/_index.md | 9 +-
{gimpcon => content/gimpcon}/2006/meetings.jpg | Bin
.../gimpcon}/2006/meetings_small.jpg | Bin
{gimpcon => content/gimpcon}/2006/people.jpg | Bin
{gimpcon => content/gimpcon}/2006/people_small.jpg | Bin
gimpcon.xml => content/gimpcon/_index.md | 26 +-
content/homepage/CHANGELOG.md | 7 +
content/homepage/_index.md | 21 +
content/homepage/about.md | 18 +
content/homepage/bugs.md | 28 +
content/homepage/changelog.md | 17 +
content/homepage/cvs.md | 11 +
content/homepage/faq.md | 433 +++++
content/homepage/git.md | 138 ++
content/homepage/lists.md | 12 +
content/homepage/plug-in-template.md | 24 +
content/homepage/plug-ins.md | 19 +
content/homepage/screenshots.md | 63 +
standards.xml => content/homepage/standards.md | 97 +-
{images => content/images}/developer-barbg.png | Bin
{images => content/images}/developer-left.png | Bin
{images => content/images}/developer-right.png | Bin
{images => content/images}/shadow.gif | Bin
{images => content/images}/shadow.png | Bin
{images => content/images}/wilber-icon.png | Bin
{images => content/images}/wilber.png | Bin
layout.xml => content/layout.xml | 0
{screenshots => content/screenshots}/Makefile | 0
content/screenshots/gimp-curves-thumb.png | Bin 0 -> 77364 bytes
.../screenshots}/gimp-curves.png | Bin
content/screenshots/gimp-empty-thumb.png | Bin 0 -> 52625 bytes
.../screenshots}/gimp-empty.png | Bin
{screenshots => content/screenshots}/gimp-osx.jpeg | Bin
content/screenshots/gimp-print-thumb.png | Bin 0 -> 37582 bytes
.../screenshots}/gimp-print.png | Bin
.../writing-a-plug-in/1.md | 107 +-
.../writing-a-plug-in/2.md | 286 ++-
.../writing-a-plug-in/3.md | 29 +-
cvs.xml | 19 -
dtd/autolayout.dtd | 101 -
dtd/extensions.mod | 51 -
dtd/forms.mod | 134 --
dtd/layout.dtd | 99 -
dtd/namespaces.mod | 54 -
dtd/rddl.mod | 40 -
dtd/website-custom.dtd | 55 -
dtd/website-full.dtd | 40 -
dtd/website.dtd | 1993 --------------------
dtd/website.mod | 109 --
faq.xml | 812 --------
gimpcon2000.xml | 56 -
git.xml | 145 --
index.xml | 37 -
mailing-lists.xml | 17 -
plug-in-template.xml | 36 -
plug-ins.xml | 36 -
screenshots.xml | 61 -
themes/hyde/CHANGELOG.md | 7 +
themes/hyde/LICENSE.md | 9 +
themes/hyde/README.md | 1 +
themes/hyde/archetypes/default.md | 6 +
themes/hyde/go.mod | 3 +
themes/hyde/images/screenshot.png | Bin 0 -> 447363 bytes
themes/hyde/images/tn.png | Bin 0 -> 145312 bytes
themes/hyde/layouts/404.html | 4 +
themes/hyde/layouts/_default/baseof.html | 43 +
themes/hyde/layouts/_default/list.html | 9 +
themes/hyde/layouts/_default/single.html | 7 +
themes/hyde/layouts/index.html | 18 +
themes/hyde/layouts/partials/head.html | 33 +
themes/hyde/layouts/partials/head_fonts.html | 1 +
themes/hyde/layouts/partials/hook_head_end.html | 0
themes/hyde/layouts/partials/sidebar.html | 8 +
.../static/apple-touch-icon-144-precomposed.png | Bin 0 -> 570 bytes
themes/hyde/static/css/hyde.css | 300 +++
themes/hyde/static/favicon.png | Bin 0 -> 183 bytes
themes/hyde/theme.toml | 17 +
writing-a-plug-in/1/architecture-small.png | Bin 10884 -> 0 bytes
writing-a-plug-in/1/architecture.png | Bin 35991 -> 0 bytes
writing-a-plug-in/1/hello.c | 84 -
writing-a-plug-in/1/hello.png | Bin 14753 -> 0 bytes
writing-a-plug-in/1/plug-in-details-small.png | Bin 29792 -> 0 bytes
writing-a-plug-in/1/plug-in-details.png | Bin 98454 -> 0 bytes
writing-a-plug-in/1/plug-in-menu-small.png | Bin 61710 -> 0 bytes
writing-a-plug-in/1/plug-in-menu.png | Bin 136406 -> 0 bytes
writing-a-plug-in/2/GimpImage-small.png | Bin 10265 -> 0 bytes
writing-a-plug-in/2/GimpImage.png | Bin 39269 -> 0 bytes
writing-a-plug-in/2/myblur1.c | 197 --
writing-a-plug-in/2/myblur2.c | 193 --
writing-a-plug-in/2/tiles-small.png | Bin 72313 -> 0 bytes
writing-a-plug-in/2/tiles.png | Bin 679094 -> 0 bytes
writing-a-plug-in/3/blur_dialog1.png | Bin 12295 -> 0 bytes
writing-a-plug-in/3/blur_dialog2-small.png | Bin 15670 -> 0 bytes
writing-a-plug-in/3/blur_dialog2.png | Bin 84408 -> 0 bytes
writing-a-plug-in/3/blur_select-small.png | Bin 46700 -> 0 bytes
writing-a-plug-in/3/blur_select.png | Bin 199690 -> 0 bytes
writing-a-plug-in/3/glade-tree-small.png | Bin 7250 -> 0 bytes
writing-a-plug-in/3/glade-tree.png | Bin 15925 -> 0 bytes
writing-a-plug-in/3/myblur3.c | 282 ---
writing-a-plug-in/3/myblur4.c | 394 ----
writing-a-plug-in/3/myblur5.c | 431 -----
xsl/VERSION | 5 -
xsl/autolayout.xsl | 258 ---
xsl/chunk-common.xsl | 182 --
xsl/chunk-tabular.xsl | 12 -
xsl/chunk-website.xsl | 12 -
xsl/head.xsl | 299 ---
xsl/makefile-dep.xsl | 126 --
xsl/mine.xsl | 226 ---
xsl/mytoc.xsl | 325 ----
xsl/myxref.xsl | 56 -
xsl/param.xsl | 377 ----
xsl/rss.xsl | 140 --
xsl/tabular.xsl | 210 ---
xsl/toc-tabular.xsl | 481 -----
xsl/toc.xsl | 287 ---
xsl/website-common.xsl | 761 --------
xsl/website.xsl | 133 --
xsl/xbel.xsl | 111 --
144 files changed, 1615 insertions(+), 10086 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 714e072..e69de29 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +0,0 @@
-*.html
-autolayout.xml
-depends.tabular
-gimpcon
-screenshots/*thumb.png
-writing-a-plug-in
diff --git a/.hugo_build.lock b/.hugo_build.lock
new file mode 100644
index 0000000..e69de29
diff --git a/Makefile b/Makefile
index fdc8d92..a208b3b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,32 +1,5 @@
+all:
+ hugo -D
-SUBDIRS=screenshots
-
-PROC=xsltproc
-STYLEDIR=xsl
-SCRIPTDIR=scripts
-STYLESHEET=$(STYLEDIR)/mine.xsl
-
-all: subdirs website
-
-include depends.tabular
-
-subdirs: $(SUBDIRS)
-
-$(SUBDIRS):
- $(MAKE) -C $@
-
-autolayout.xml: layout.xml
- $(PROC) $(STYLEDIR)/autolayout.xsl $< > $@
- $(MAKE) depends
-
-%.html: autolayout.xml
- $(PROC) $(STYLESHEET) $(filter-out autolayout.xml,$^) $(TIDY) > $@
-
-depends: autolayout.xml
- $(PROC) $(STYLEDIR)/makefile-dep.xsl $< > depends.tabular
-
-depends.tabular: layout.xml
- touch $@
- $(MAKE) depends
-
-.PHONY: clean subdirs $(SUBDIRS)
+test:
+ hugo server
diff --git a/config.toml b/config.toml
new file mode 100644
index 0000000..d869e0e
--- /dev/null
+++ b/config.toml
@@ -0,0 +1,129 @@
+baseURL = "https://developer.gimp.org/"
+languageCode = "en"
+title = "GIMP Developer Resources"
+author = "The GIMP Development Team"
+theme = "hyde"
+copyright = "Copyright 2003-2022 The GIMP Development Team"
+DefaultContentLanguage = "en"
+enableInlineShortcodes = true
+
+[taxanomies]
+category = "categories"
+tag = "tags"
+series = "series"
+
+[menu]
+[[menu.main]]
+ identifier = "git"
+ name = "Git"
+ url = "git.html"
+ weight = 10
+
+[[menu.main]]
+ identifier = "changelog"
+ name = "ChangeLog"
+ url = "https://gitlab.gnome.org/browse/gimp/log/"
+ weight = 20
+
+[[menu.main]]
+ identifier = "news"
+ name = "News"
+ url = "https://developer.gimp.org/NEWS"
+ weight = 21
+
+[[menu.main]]
+ identifier = "hacking"
+ name = "Hacking"
+ url = "https://developer.gimp.org/HACKING"
+ weight = 22
+
+[[menu.main]]
+ identifier = "gitlab"
+ name = "Gitlab"
+ url = "bugs.html"
+ weight = 30
+
+[[menu.main]]
+ identifier = "mailing-lists"
+ name = "Mailing Lists"
+ url = "lists.html"
+ weight = 40
+
+[[menu.main]]
+ identifier = "screenshots"
+ name = "Screenshots"
+ url = "screenshots.html"
+ weight = 50
+
+[[menu.main]]
+ identifier = "plug-in"
+ name = "Plug-In Development"
+ url = "plug-ins.html"
+ weight = 60
+
+[[menu.main]]
+ identifier = "api-ref"
+ name = "API Reference"
+ url = "api/2.0/index.html"
+ weight = 61
+
+[[menu.main]]
+ identifier = "writing-plug-ins"
+ name = "Writing A Plug-In"
+ url = "writing-api-plug-in/1.html"
+ weight = 62
+
+[[menu.main]]
+ identifier = "plug-in-template"
+ name = "Plug-In Template"
+ url = "plug-in-template.html"
+ weight = 63
+
+[[menu.main]]
+ identifier = "conference"
+ name = "Conference"
+ url = "gimpcon/index.html"
+ weight = 70
+
+[[menu.main]]
+ identifier = "gimpcon2000"
+ name = "GIMPCon 2000"
+ url = "gimpcon/2000/index.html"
+ weight = 71
+
+[[menu.main]]
+ identifier = "gimpcon2003"
+ name = "GIMPCon 2003"
+ url = "gimpcon/2003/index.html"
+ weight = 72
+
+[[menu.main]]
+ identifier = "gimpcon2004"
+ name = "GIMPCon 2004"
+ url = "gimpcon/2004/index.html"
+ weight = 73
+
+[[menu.main]]
+ identifier = "gimpcon2006"
+ name = "GIMPCon 2006"
+ url = "gimpcon/2006/index.html"
+ weight = 74
+
+[[menu.main]]
+ identifier = "faq"
+ name = "Developer FAQ"
+ url = "faq.html"
+ weight = 80
+
+[[menu.main]]
+ identifier = "standards"
+ name = "Standards"
+ url = "standards.html"
+ weight = 90
+
+[[menu.main]]
+ identifier = "about"
+ name = "About this Site"
+ url = "about.html"
+ weight = 100
+
diff --git a/content/_index.md b/content/_index.md
new file mode 100644
index 0000000..12ae0d2
--- /dev/null
+++ b/content/_index.md
@@ -0,0 +1,21 @@
++++
+title = "GIMP Development"
+date = "2022-07-19"
+description = "Online Resources for GIMP Developers"
+url = "index.html"
+author = "The GIMP Development Team"
++++
+
+This site tries to provide useful information for GIMP developers.
+No matter if you are into [plug-in development](plug-in.html)
+or want to dive into the
+[internals of the GIMP core](/api/2.0/app/app-hierarchy-part.html),
+you should find your way from here.
+
+If you're looking for the main GIMP website you should visit
+[www.gimp.org](https://www.gimp.org).
+
+The GIMP source code is versioned with git. You
+can [browse the source](https://gitlab.gnome.org/GNOME/gimp/)
+online.
+
diff --git a/api/2.0/libtest/test.txt b/content/api/2.0/libtest/test.txt
similarity index 100%
rename from api/2.0/libtest/test.txt
rename to content/api/2.0/libtest/test.txt
diff --git a/style/default.css b/content/default.css
similarity index 95%
rename from style/default.css
rename to content/default.css
index de43de1..597c8cd 100644
--- a/style/default.css
+++ b/content/default.css
@@ -4,9 +4,9 @@
* so keep a backup of this file while working with it. Niklas */
/* Copyright (C) 2002-2006 by The GIMP Web Team - Contributions by:
- * Ville Pätsi (drc), Henrik Brix Andersen (brix), Carol Spears
- * (carol), Niklas Mattisson (scizzo), Raphaël Quinet (raphael),
- * Branko Collin (branko), Sven Neumann (neo) and Øyvind Kolås
+ * Ville Pätsi (drc), Henrik Brix Andersen (brix), Carol Spears
+ * (carol), Niklas Mattisson (scizzo), Raphaël Quinet (raphael),
+ * Branko Collin (branko), Sven Neumann (neo) and Øyvind Kolås
* (pippin)
*
* This style sheet and corresponding site layout are designed to be
diff --git a/gimpcon/2000/people-small.jpg b/content/gimpcon/2000/people-small.jpg
similarity index 100%
rename from gimpcon/2000/people-small.jpg
rename to content/gimpcon/2000/people-small.jpg
diff --git a/gimpcon2003.xml b/content/gimpcon/2003/_index.md
similarity index 83%
rename from gimpcon2003.xml
rename to content/gimpcon/2003/_index.md
index 565e6c0..0465164 100644
--- a/gimpcon2003.xml
+++ b/content/gimpcon/2003/_index.md
@@ -1,13 +1,7 @@
-<?xml version='1.0'?>
-<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
- "dtd/website.dtd" [
-<!ENTITY minutes SYSTEM "gimpcon2003-mins.xml" NDATA XML>
-]>
++++
+title = "GIMP Developers Conference 2003"
++++
-<webpage id="gimpcon2003" lang="en">
-
- <head>
- <title>GIMP Developers Conference 2003</title>
<titleabbrev>GIMPCon 2003</titleabbrev>
<summary>Chaos Communication Camp, near Berlin</summary>
</head>
diff --git a/gimpcon2003-mins-1.xml b/content/gimpcon/2003/gimpcon2003-mins-1.md
similarity index 98%
rename from gimpcon2003-mins-1.xml
rename to content/gimpcon/2003/gimpcon2003-mins-1.md
index d51e16b..5d16f64 100644
--- a/gimpcon2003-mins-1.xml
+++ b/content/gimpcon/2003/gimpcon2003-mins-1.md
@@ -1,10 +1,7 @@
-<?xml version='1.0'?>
-<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
- "dtd/website.dtd" >
++++
+author = "The GIMP Development Team"
++++
-<webpage id="gimpcon2003-mins-1" lang="en">
-
- <head>
<title>The First Big Serious Meeting of GIMPCon 2003</title>
<titleabbrev>First Meeting</titleabbrev>
<summary>Minutes of the first GIMPCon 2003 Meeting</summary>
diff --git a/gimpcon2003-mins-2.xml b/content/gimpcon/2003/gimpcon2003-mins-2.md
similarity index 98%
rename from gimpcon2003-mins-2.xml
rename to content/gimpcon/2003/gimpcon2003-mins-2.md
index 2624d2c..c20d123 100644
--- a/gimpcon2003-mins-2.xml
+++ b/content/gimpcon/2003/gimpcon2003-mins-2.md
@@ -1,10 +1,7 @@
-<?xml version='1.0'?>
-<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
- "dtd/website.dtd" >
++++
+author = "The GIMP Development Team"
++++
-<webpage id="gimpcon2003-mins-2" lang="en">
-
- <head>
<title>The Second Big Serious Meeting of GIMPCon2003</title>
<titleabbrev>Second Meeting</titleabbrev>
<summary>Minutes of the second GIMPCon 2003 Meeting</summary>
diff --git a/gimpcon2003-mins-3.xml b/content/gimpcon/2003/gimpcon2003-mins-3.md
similarity index 97%
rename from gimpcon2003-mins-3.xml
rename to content/gimpcon/2003/gimpcon2003-mins-3.md
index b5ff419..b1b3da9 100644
--- a/gimpcon2003-mins-3.xml
+++ b/content/gimpcon/2003/gimpcon2003-mins-3.md
@@ -1,10 +1,7 @@
-<?xml version='1.0'?>
-<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
- "dtd/website.dtd" >
++++
+author = "The GIMP Development Team"
++++
-<webpage id="gimpcon2003-mins-3" lang="en">
-
- <head>
<title>The Third Big Serious Meeting of GIMPCon 2003</title>
<titleabbrev>Third Meeting</titleabbrev>
<summary>Minutes of the third GIMPCon 2003 Meeting</summary>
diff --git a/gimpcon2003-mins.xml b/content/gimpcon/2003/gimpcon2003-mins.md
similarity index 91%
rename from gimpcon2003-mins.xml
rename to content/gimpcon/2003/gimpcon2003-mins.md
index 91cd87e..f1c68eb 100644
--- a/gimpcon2003-mins.xml
+++ b/content/gimpcon/2003/gimpcon2003-mins.md
@@ -1,14 +1,7 @@
-<?xml version='1.0'?>
-<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
- "dtd/website.dtd" [
-<!ENTITY gimpcon2003-mins-1 SYSTEM "gimpcon2003-mins-1.xml" NDATA XML>
-<!ENTITY gimpcon2003-mins-2 SYSTEM "gimpcon2003-mins-2.xml" NDATA XML>
-<!ENTITY gimpcon2003-mins-3 SYSTEM "gimpcon2003-mins-3.xml" NDATA XML>
-]>
++++
+author = "The GIMP Development Team"
++++
-<webpage id="minutes" lang="en">
-
- <head>
<title>Minutes of The GIMP Developers Conference 2003</title>
<titleabbrev>Minutes</titleabbrev>
<summary>Minutes of the GIMPCon 2003 Meetings</summary>
diff --git a/gimpcon/2003/people-small.png b/content/gimpcon/2003/people-small.png
similarity index 100%
rename from gimpcon/2003/people-small.png
rename to content/gimpcon/2003/people-small.png
diff --git a/gimpcon/2003/people.png b/content/gimpcon/2003/people.png
similarity index 100%
rename from gimpcon/2003/people.png
rename to content/gimpcon/2003/people.png
diff --git a/gimpcon/2004/Dave_Neary.jpg b/content/gimpcon/2004/Dave_Neary.jpg
similarity index 100%
rename from gimpcon/2004/Dave_Neary.jpg
rename to content/gimpcon/2004/Dave_Neary.jpg
diff --git a/gimpcon/2004/Oyvind_Kolas.png b/content/gimpcon/2004/Oyvind_Kolas.png
similarity index 100%
rename from gimpcon/2004/Oyvind_Kolas.png
rename to content/gimpcon/2004/Oyvind_Kolas.png
diff --git a/gimpcon2004.xml b/content/gimpcon/2004/_index.md
similarity index 97%
rename from gimpcon2004.xml
rename to content/gimpcon/2004/_index.md
index 1a3432b..3914f36 100644
--- a/gimpcon2004.xml
+++ b/content/gimpcon/2004/_index.md
@@ -1,11 +1,7 @@
-<?xml version='1.0'?>
-<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
- "dtd/website.dtd">
++++
+title = "GIMP Developers Conference 2004"
++++
-<webpage id="gimpcon2004" lang="en">
-
- <head>
- <title>GIMP Developers Conference 2004</title>
<titleabbrev>GIMPCon 2004</titleabbrev>
<summary>GUADEC, Kristiansand</summary>
</head>
diff --git a/gimpcon/2004/gnu-head-sm.jpg b/content/gimpcon/2004/gnu-head-sm.jpg
similarity index 100%
rename from gimpcon/2004/gnu-head-sm.jpg
rename to content/gimpcon/2004/gnu-head-sm.jpg
diff --git a/gimpcon/2004/mac_gimp_logo4.png b/content/gimpcon/2004/mac_gimp_logo4.png
similarity index 100%
rename from gimpcon/2004/mac_gimp_logo4.png
rename to content/gimpcon/2004/mac_gimp_logo4.png
diff --git a/gimpcon/2004/macosx_screenshot1_thumb.jpg b/content/gimpcon/2004/macosx_screenshot1_thumb.jpg
similarity index 100%
rename from gimpcon/2004/macosx_screenshot1_thumb.jpg
rename to content/gimpcon/2004/macosx_screenshot1_thumb.jpg
diff --git a/gimpcon2006.xml b/content/gimpcon/2006/_index.md
similarity index 99%
rename from gimpcon2006.xml
rename to content/gimpcon/2006/_index.md
index 55fea55..70e3a41 100644
--- a/gimpcon2006.xml
+++ b/content/gimpcon/2006/_index.md
@@ -1,10 +1,7 @@
-<?xml version='1.0'?>
-<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
- "dtd/website.dtd">
++++
+author = "The GIMP Development Team"
++++
-<webpage id="gimpcon2006" lang="en">
-
- <head>
<title>GIMP Developers Conference 2006</title>
<titleabbrev>GIMPCon 2006</titleabbrev>
<summary>Libre Graphics Meeting, Lyon</summary>
diff --git a/gimpcon/2006/meetings.jpg b/content/gimpcon/2006/meetings.jpg
similarity index 100%
rename from gimpcon/2006/meetings.jpg
rename to content/gimpcon/2006/meetings.jpg
diff --git a/gimpcon/2006/meetings_small.jpg b/content/gimpcon/2006/meetings_small.jpg
similarity index 100%
rename from gimpcon/2006/meetings_small.jpg
rename to content/gimpcon/2006/meetings_small.jpg
diff --git a/gimpcon/2006/people.jpg b/content/gimpcon/2006/people.jpg
similarity index 100%
rename from gimpcon/2006/people.jpg
rename to content/gimpcon/2006/people.jpg
diff --git a/gimpcon/2006/people_small.jpg b/content/gimpcon/2006/people_small.jpg
similarity index 100%
rename from gimpcon/2006/people_small.jpg
rename to content/gimpcon/2006/people_small.jpg
diff --git a/gimpcon.xml b/content/gimpcon/_index.md
similarity index 63%
rename from gimpcon.xml
rename to content/gimpcon/_index.md
index fcdf912..2fe2570 100644
--- a/gimpcon.xml
+++ b/content/gimpcon/_index.md
@@ -1,29 +1,16 @@
-<?xml version='1.0'?>
-<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
- "dtd/website.dtd" [
-<!ENTITY gimpcon2000 SYSTEM "gimpcon2000.xml" NDATA XML>
-<!ENTITY gimpcon2003 SYSTEM "gimpcon2003.xml" NDATA XML>
-<!ENTITY gimpcon2004 SYSTEM "gimpcon2004.xml" NDATA XML>
-<!ENTITY gimpcon2006 SYSTEM "gimpcon2006.xml" NDATA XML>
-]>
++++
+title = "GIMP Developer Conferences"
+abbrev = "Conference"
+description = "Hanging out with GIMP developers."
++++
-<webpage id="gimpcon" lang="en">
- <head>
- <title>GIMP Developer Conferences</title>
- <titleabbrev>Conference</titleabbrev>
- <summary>Hanging out with GIMP developers</summary>
- </head>
-
- <para>
The GIMP Developers Conference, also known as GIMPCon, is a
gathering of <ulink url="http://www.gimp.org">GIMP</ulink> and
<ulink url="http://www.gegl.org">GEGL</ulink> developers from all
over the World. This is where we get together and discuss the
future development, hack on GIMP and meet GIMP users.
- </para>
- <para>
<itemizedlist>
<listitem>
<olink targetdocent="gimpcon2000">GIMPCon 2000</olink>, June
@@ -45,6 +32,3 @@
March 17-18-19 in Lyon, France.
</listitem>
</itemizedlist>
- </para>
-
-</webpage>
diff --git a/content/homepage/CHANGELOG.md b/content/homepage/CHANGELOG.md
new file mode 100644
index 0000000..891329a
--- /dev/null
+++ b/content/homepage/CHANGELOG.md
@@ -0,0 +1,7 @@
+# Changelog
+
+## Version 1.0
+
+- Due to the switch to the base template feature the minimum required version of Hugo changed to v0.21
+- Support for Google Analytics have been added
+- Hugo's internal Disqus template replaced the custom one of this theme. The Disqus shortname now has to be
defined outsite the `[params]` blog
diff --git a/content/homepage/_index.md b/content/homepage/_index.md
new file mode 100644
index 0000000..12ae0d2
--- /dev/null
+++ b/content/homepage/_index.md
@@ -0,0 +1,21 @@
++++
+title = "GIMP Development"
+date = "2022-07-19"
+description = "Online Resources for GIMP Developers"
+url = "index.html"
+author = "The GIMP Development Team"
++++
+
+This site tries to provide useful information for GIMP developers.
+No matter if you are into [plug-in development](plug-in.html)
+or want to dive into the
+[internals of the GIMP core](/api/2.0/app/app-hierarchy-part.html),
+you should find your way from here.
+
+If you're looking for the main GIMP website you should visit
+[www.gimp.org](https://www.gimp.org).
+
+The GIMP source code is versioned with git. You
+can [browse the source](https://gitlab.gnome.org/GNOME/gimp/)
+online.
+
diff --git a/content/homepage/about.md b/content/homepage/about.md
new file mode 100644
index 0000000..6da9a09
--- /dev/null
+++ b/content/homepage/about.md
@@ -0,0 +1,18 @@
++++
+title = "About this Site"
+description = "About this Site."
+date = "2022-07-19"
+author = "The GIMP Development Team"
+url = "about.html"
++++
+
+The look of this site was borrowed from
+[www.gimp.org](http://www.gimp.org/).
+Under the hood it is based on
+[DocBook Website](http://docbook.sourceforge.net/projects/website/).
+If you are curious, have a look at the [Markdown source](about.md)
+of the page you are reading.
+
+If you want to help us with developer.gimp.org, clone the
+repository `gimp-web-devel` from [git](git).
+
diff --git a/content/homepage/bugs.md b/content/homepage/bugs.md
new file mode 100644
index 0000000..c7f8d20
--- /dev/null
+++ b/content/homepage/bugs.md
@@ -0,0 +1,28 @@
++++
+title = "Bug Tracking System"
+description = "Bugs, bugs, bugs"
+date = "2022-07-19"
+abbrev = "Gitlab"
+url = "bugs.html"
++++
+
+The GIMP project uses Gitlab's
+[issues](https://gitlab.gnome.org/GNOME/gimp/-/issues),
+to coordinate bug reports. Gitlab is also used for enhancement requests
+and the preferred way to submit patches for the GIMP is make a
+[merge request](https://gitlab.gnome.org/GNOME/gimp/-/merge_requests).
+
+On [www.gimp.org](https://www.gimp.org) you can find a document describing
+[HOW TO Report GIMP Bugs](https://www.gimp.org/bugs/howtos/bugzilla.html).
+You can also find a document that describes
+[How To Create and Submit a Patch](https://www.gimp.org/bugs/howtos/submit-patch.html).
+
+Below is a list of links to get you started with Gitlab:
+
+* [List of Open Bugs](https://gitlab.gnome.org/GNOME/gimp/-/issues)
+* [List of Open Bugs (excluding enhancement
requests)](https://gitlab.gnome.org/GNOME/gimp/-/issues/?label_name%5B%5D=1.%20Bug)
+* [Tables of Open/Closed Bugs with milestone
2.10.34](https://gitlab.gnome.org/GNOME/gimp/-/milestones/20#tab-issues)
+* [Tables of Open/Closed Bugs with milestone
2.99.12](https://gitlab.gnome.org/GNOME/gimp/-/milestones/19#tab-issues)
+* [Issues without an associated, planned version
number.](https://gitlab.gnome.org/GNOME/gimp/-/milestones/1#tab-issues)
+
+
diff --git a/content/homepage/changelog.md b/content/homepage/changelog.md
new file mode 100644
index 0000000..435b3cd
--- /dev/null
+++ b/content/homepage/changelog.md
@@ -0,0 +1,17 @@
+---
+title: "GIMP ChangeLog"
+date: 2022-07-20T19:04:06+01:00
+draft: true
+abbrev: "ChangeLog"
+description: "Keeping an eye on the development."
+type: new
+url: changelog.html
+---
+
+The [GIT repository](https://gitlab.gnome.org/GNOME/gimp/commits/master)
+lists all changes in detail. The list below shows the latest
+commits. It is generated from the RSS feed delivered by
+the [CIA](https://cia.vc/).
+
+<rss feed="http://cia.vc/stats/project/gnome/gimp/.rss?ver=1" />
+
diff --git a/content/homepage/cvs.md b/content/homepage/cvs.md
new file mode 100644
index 0000000..e87e879
--- /dev/null
+++ b/content/homepage/cvs.md
@@ -0,0 +1,11 @@
+---
+title: "CVS"
+date: 2022-07-19T20:45:01+01:00
+draft: false
+description: "CVS migrated to Subversion."
+url: cvs.html
+---
+
+GIMP doesn't use CVS any longer. The source code repository has been
+migrated to [git](git).
+
diff --git a/content/homepage/faq.md b/content/homepage/faq.md
new file mode 100644
index 0000000..218e14c
--- /dev/null
+++ b/content/homepage/faq.md
@@ -0,0 +1,433 @@
+---
+title: "Frequently Asked Questions"
+date: 2022-07-20T19:04:11+01:00
+draft: true
+abbrev: "Developer FAQ"
+description: "New to GIMP Development?"
+---
+
+Below you will find a collection of frequently asked questions
+regarding development of the GIMP.
+
+## GIMP Development
+
+#### Who coordinates GIMP development?
+
+GIMP development is coordinated by Wilber the GIMP along
+with a loosely knit team of GIMP developers. The
+developers can be reached through the GIMP developer
+<olink targetdocent="lists">mailing list</olink>.
+
+#### How can I become a GIMP developer?
+
+If you are a developer who wants to start contributing
+code to the GIMP, the best way to get to know its
+structure is by fixing bugs reported in Bugzilla. Pick a
+bug, perhaps ask the advice of another developer as to
+whether he/she thinks it will be an easy bug or not, and
+then fix it. Sounds easy, doesn't it?
+
+After helping with a couple of bugs, people will start to
+recognize your immense talent, and you will be on your way
+to becoming a GIMP hacker. Any time you feel able, you
+can pick a smaller enhancement request and have a go at
+implementing it. It's that easy.
+
+#### Where can I discuss GIMP development?
+
+There are several <olink targetdocent="lists">mailing
+lists</olink> associated with the GIMP project.
+Developments related issues can be brought up on the GIMP
+Developer mailing list.
+
+The GIMP has its own IRC channel on GIMPNet where most of
+the active developers hang out. Join us in #gimp on
+<ulink url="irc:://irc.gimp.org:6667/#gimp">irc.gimp.org</ulink>.
+
+Every once in a while the GIMP developers get together for
+a few days to throw a GIMP Developers Conference, also
+referred to as <olink
+targetdocent="gimpcon">GIMPCon</olink>.
+
+#### Where can I find documentation for the GIMP API?
+
+You can pass <command>--enable-gtk-doc</command> to the gimp
+`configure` script. This requires having
+<ulink url="ftp://ftp.gtk.org/pub/gtk-doc/">gtk-doc</ulink>
+installed. After running <command>make</command> you can
+find the GIMP API reference in the
+`devel-docs` directory.
+
+Pre-generated API documentation is included in the
+official GIMP tarballs.
+
+The API reference will normally be installed in
+`PREFIX/share/gtk-doc/html`. An on
+line version of the GIMP API reference can be found
+<ulink url="api/2.0/">here</ulink>.
+
+#### How do I make a stack trace?
+
+A stack trace is a list of function calls that leads to
+some point in the program. Debugging tools like <ulink
+url="http://www.gnu.org/software/gdb/gdb.html">gdb</ulink>
+can get stack traces from crashed applications so that
+developers can figure out what went wrong. By including a
+stack trace with your bug report, it will be much easier
+for the developers to fix the reported problem.
+
+Information on how to make a stack trace can be found in
+the document <ulink
+url="http://live.gnome.org/GettingTraces">Capturing
+Stack Traces</ulink>.
+
+#### What is the best way to submit a patch?
+
+The best way to submit a patch is to open a bug report in
+Bugzilla and attach the patch there along with a
+description of what it does and why it should be applied.
+
+An introduction to how this is done can be found in the
+<ulink
+url="http://www.gimp.org/bugs/howtos/submit-patch.html">
+How To Create and Submit a Patch</ulink> document.
+
+#### What is the preferred coding style used in GIMP?
+
+We encourage you to follow the GIMP coding style
+throughout the GIMP project. For the core components
+(application and libs) this coding style is enforced. The
+GIMP coding style is defined as follows:
+
+* Function names are lowercase, words separated by underscores.
+* Macros and enums are all uppercase, words separated by underscores
+* Types are all words capitalized, no separators between words.
+* All functions in header files need to be prototyped.
+* Indentation rules are GNU coding style, in particular:
+ * 2 characters indentation level
+ * Do not use tabs (of course your editor can use tabs, but it should write them to file as 8 spaces each).
+ * Opening brackets are on a new line and indented one level.
+ * Function header have the return type on one line, the name starting in the first column of the following
line. All parameters are prototyped and there's a new line for each.
+
+Try to make use of GLib's object system as much as
+possible. Do not create wrappers around functions of
+parent classes. If you end up duplicating code, try to
+create a common parent class and implement the common
+methods there.
+
+Don't include headers in headers except where unavoidable
+(e.g. for deriving objects). Opaque typedefs go to
+`app/base/base-types.h`, `app/core/core-types.h` etc. See
+`devel-docs/includes.txt` for a
+detailed description of the include policy.
+
+Don't use the GTK wrappers around the GLib object and
+signal system.
+
+The above coding style, along with other useful
+information, is documented in the file <ulink
+url="HACKING">HACKING</ulink>.
+
+#### How can I configure my editor for this coding style?
+
+Your editor will not be able to do everything for you, but
+you can configure most editors so that they use two spaces
+for indentation, use spaces instead of tabs, etc.
+
+* If you are using Emacs, you can insert the following settings into your `~/.emacs` file:
+
+```
+;; Merge this into your custom-set-variables section if you already have one
+(custom-set-variables
+;; Syntax highlighting
+'(global-font-lock-mode t nil (font-lock))
+'(show-paren-mode t nil (paren))
+)
+;; use UTF-8 by default
+(prefer-coding-system 'mule-utf-8)
+;; use the GNU style for C files, spaces instead of tabs, highlight bad spaces
+(setq c-mode-common-hook '(lambda () (c-set-style "gnu")
+ (setq indent-tabs-mode nil)
+ (setq show-trailing-whitespace t))) ]]></programlisting>
+```
+
+* If you are using Vim, you can insert the following settings into your `~/.vimrc` file:
+
+```
+syn on " syntax highlighting
+set expandtab " use spaces instead of tabs
+set shiftwidth=2 " default indentation is 2 spaces ]]></programlisting>
+```
+
+* If you are using another editor and you know how to configure it correctly, please tell us about it on the
GIMP developer <olink targetdocent="lists">mailing list</olink> so that we can update this FAQ.
+
+#### Who coordinates the GIMP translation efforts?
+
+Any help with translations is appreciated. If you want to
+help, please get in contact with the people from the
+<ulink
+url="http://developer.gnome.org/projects/gtp/">GNOME
+Translation Project</ulink> who coordinate all translation
+efforts for projects hosted in the GNOME GIT repository.
+
+More information about GIMP and localisation can be found
+in the file <ulink url="README.i18n">README.i18n</ulink>.
+
+
+#### How can I support GIMP development?
+
+By using GIMP and reporting any bugs you find to
+<ulink url="http://bugzilla.gnome.org/">Bugzilla</ulink>
+you're helping a great deal. But there are other
+non-technical ways of supporting the development of The
+GIMP as well.
+
+GIMP has a web site, application documentation, lots of
+tutorials, and more. Unfortunately, as GIMP develops over
+time, much of this documentation needs to be re-written or
+freshened up, documentation needs to be added for new
+functionality, the web site needs to get a new lick of
+paint and so on.
+
+If you're interested in helping out you should drop an
+e-mail to the GIMP developer <olink
+targetdocent="lists">mailing list</olink> offering your
+help.
+
+## Plug-In Development
+
+#### Is there a plug-in template available?
+
+Yes. An official GIMP plug-in template is available in
+the <ulink
+url="http://git.gnome.org/cgit/gimp-plugin-template/">gimp-plugin-template
+</ulink> git module. Snapshots are available at <ulink
+url="ftp://ftp.gimp.org/pub/gimp/plugin-template/">ftp.gimp.org</ulink>.
+
+#### How about a Script-Fu template?
+
+Yes. Simon Budig has written a fill-in-the-blanks
+Script-Fu template which is available <ulink
+url="http://www.home.unix-ag.org/simon/files/script-fu-template.scm">here</ulink>.
+
+#### How do I get my plug-in included in the GIMP?
+
+The best way to make your plug-in available to the World
+is to submit it to <ulink
+url="http://registry.gimp.org/">the GIMP Plug-In
+Registry</ulink>.
+
+If you are certain that your plug-in will be useful to all
+GIMP users, then you can ask the GIMP developers to
+consider it for inclusion in future GIMP release. The
+best way to do that is to suggest it on the GIMP developer
+<olink targetdocent="lists">mailing list</olink> or to
+open an enhancement request in Bugzilla. However, we would
+like to limit the number of plug-ins included in the
+standard distribution and encourage all users to use the
+registry.
+
+#### How do I debug a GIMP plug-in?
+
+Eeek! The plug-in you're working on has a bug in it! And
+the fix isn't completely obvious, so you want to use
+debugger to see what is going on. But hmm, how does one
+start a plug-in under a debugger if GIMP is the one who is
+starting the plug-in...
+
+To address this issue, libgimp has some hooks controlled
+by the `GIMP_PLUGIN_DEBUG` environment
+variable. The idea is that you can attach a debugger to
+the pid of the plug-in you want to debug. The process is
+described in the file <ulink
+url="debug-plug-ins.txt">debug-plug-ins.txt</ulink>.
+
+
+#### Will the plug-in I compiled against 2.0 work with GIMP 2.2 or 2.4?
+
+The short answer is yes. GIMP 2.2 and 2.4 are binary
+compatible with plug-ins compiled for GIMP 2.0. The API is
+also backwards source compatible, so your plug-in should
+also compile cleanly against GIMP 2.2 and 2.4.
+
+If the plug-in you compiled for 2.0 does not work with 2.2
+or 2.4, there is one change which has been made which is
+not backwards compatible, since the old behaviour was
+considered incorrect. If you create a temporary drawable,
+using for example gimp_layer_new(), you are now required
+to add it to an image before calling any functions with
+the drawable as an argument.
+
+## GIT
+
+#### What should I put in the commit message when doing a git commit?
+
+Please put a short explanation of the change on the first line.
+Then, after an empty line, you can describe the change in more
+detail using as many lines as you need. Try not to exceed 72
+colums.
+
+If the commit fixes a bug or part of a bug please use the
+bug number and description as the first line of the commit
+message. It's most convenient to just copy the line from the
+Bugzilla bug page.
+
+## GEGL
+
+#### What is GEGL?
+
+GEGL is the <ulink url="http://www.gegl.org">Generic
+Graphical Library</ulink>. It is supposed to replace the
+handling of various image processing tasks in GIMP in
+a not too distant future (planned for GIMP 2.6).
+
+#### What will GEGL be able to do?
+
+GEGL will be a general image processing library. It uses
+a directed acyclic graph, a DAG, to represent image
+processing operations. In the DAG, images are edges, and
+operations are nodes. It takes advantage of this DAG to
+minimize regions which are processed, provide efficient
+caching of operations, and efficient redrawing when a
+parameter of the graph changes.
+
+GEGL should also be independent of the data type being
+processed and will be able to handle high bit depth
+images, ICC profiles and parallel processing of image
+tiles.
+
+#### What does all that gibberish mean for GIMP?
+
+Many highly requested features of the GIMP will be easier
+to do using GEGL. Layer effects, layer groups, and
+adjustment layers are quite easily represented (and
+efficiently calculated) using the DAG organization of GEGL.
+CMYK and high bit depth support will be easier because
+GEGL does not make the same assumptions about color spaces
+and data types that the GIMP does.
+
+The reusability of image processing operations means that
+plug-ins will be able to be designed in a much more modular
+way. The brush system will be able to become more
+flexible, especially when filter plug-ins are able to be
+used as procedural brush plug-ins.
+
+## Bugzilla
+
+#### What is Bugzilla?
+
+The GIMP project uses <ulink
+url="http://bugzilla.gnome.org">GNOME Bugzilla</ulink> for
+tracking of bug reports, enhancement requests etc.
+
+A beginners tutorial describing how to report a bug can be
+found in the <ulink
+url="http://www.gimp.org/bugs/howtos/bugzilla.html">
+How To Report GIMP Bugs</ulink> document.
+
+An easy to use interface to reporting GIMP bugs can be
+found on <ulink
+url="http://bugs.gimp.org">bugs.gimp.org</ulink>.
+
+#### What is the meaning of the NEEDINFO status code inBugzilla?
+
+If the status of a bug is changed to NEEDINFO it means the
+GIMP developers need more information from the bug
+reporter in order to resolve the bug.
+
+More information about the meaning of the Bugzilla status
+field codes can be found in <ulink
+url="http://bugzilla.gnome.org/page.cgi?id=bug-status.html">
+A Bug's Life Cycle</ulink>.
+
+#### What is the best way to refer to a bug in Bugzilla?
+
+The best way to refer to a bug is <quote>bug
+#nnnnn</quote>, where nnnnn is the bug number. Using
+<quote>bug</quote> before the number allows Bugzilla to
+link to the corresponding bug report automatically. Using
+<quote>#</quote> before the number is optional for
+Bugzilla but makes it easier to locate references to bug
+reports in the ChangeLog or in e-mails.
+
+When referencing multiple bugs, it is better to be a bit
+redundant by writing <quote>bug #xxxxx, bug #yyyyy and bug
+#zzzzz</quote> instead of <quote>bugs #xxxxx, #yyyyy and
+#zzzzz</quote> in order to allow Bugzilla to link all bugs
+automatically.
+
+#### What is the proper way of handling duplicate bug reports?
+
+A bug report describing the same bug as a previous bug
+report should be marked as DUPLICATE of the older one.
+In some exceptional cases, it is possible to mark an old
+bug report as DUPLICATE of a newer one (e.g., when the
+newer bug report has a significantly better description
+than the older one).
+
+Another exception is when the same person submits the same
+bug report several times (same description): in this case,
+it is better to mark the additional copies of the bug
+report as INVALID in order to avoid inflating the
+statistics about the number of duplicates.
+
+#### What is the proper way of marking a bug as RESOLVED?
+
+When fixing a bug, always mention the bug number in the
+commit message. Once the changes are in git, paste the
+relevant part of the commit message (or all of it) in the
+comment field and mark the bug as RESOLVED FIXED.
+These cross-references help a lot when trying to find
+when a bug was fixed, its relations to other bugs, and
+potential regressions.
+
+A bug that is fixed in git or in an unstable release
+should be marked as RESOLVED FIXED. Optionally, the
+reporter or someone other than the one who fixed the bug
+can mark it as VERIFIED after some testing. When the fix
+is part of a stable release, it can be marked as CLOSED.
+
+This is explained further in <ulink
+url="http://bugzilla.gnome.org/page.cgi?id=bug-status.html">A
+Bug's Life Cycle</ulink> except for the difference between
+stable and unstable releases.
+
+## Miscellaneous
+
+#### Where can I learn more about the GObject system used by GIMP?
+
+The
+<ulink url="http://library.gnome.org/devel/gobject/stable/">GObject
+documentation</ulink> has a
+nice <ulink url="http://library.gnome.org/devel/gobject/stable/howto-gobject.html">tutorial</ulink> that you
might want to have a look at.
+
+#### Where can I learn more about color spaces etc?
+
+Charles Poynton has collected a set of <ulink
+url="http://www.poynton.com/ColorFAQ.html">Frequently
+Asked Questions about Color</ulink>.
+
+#### Where can I learn more about image manipulation algorithms?
+
+A good source of information is the
+comp.graphics.algorithms list of <ulink
+url="http://www.faqs.org/faqs/graphics/algorithms-faq/">Frequently
+Asked Questions</ulink>.
+
+#### Is there a GIMP user FAQ available?
+
+There is no user FAQ available at the moment. However
+there has been discussions about creating one. If you
+would like to help with this please drop a mail on the
+GIMP developer <olink targetdocent="lists">mailing
+list</olink>.
+
+#### How can I contribute to this FAQ?
+
+If you would like to contribute to this FAQ, send an
+e-mail to the GIMP developer [mailing list](lists) with the
+exact text you think should be included (both question and
+answer).
+
+With your help this FAQ will grow and become more useful.
+
diff --git a/content/homepage/git.md b/content/homepage/git.md
new file mode 100644
index 0000000..19477cd
--- /dev/null
+++ b/content/homepage/git.md
@@ -0,0 +1,138 @@
+---
+title: "Git"
+date: 2022-07-20T19:04:57+01:00
+draft: true
+abbrev: "Git"
+description: "Living on the bleeding edge"
+url: git.html
+---
+
+The GIMP source code lives in the <emphasis>gimp</emphasis>
+repository on the
+<ulink url="https://gitlab.gnome.org">GNOME git server</ulink>.
+For more information on the GNOME git solution, go
+<ulink url="http://live.gnome.org/Git">here</ulink>.
+
+The GNOME git server hosts a couple of GIMP related repositories:
+
+<informaltable>
+<tgroup cols="2" align="left">
+<thead>
+<row>
+<entry>Module</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/GNOME/gimp/">babl</ulink>
+</entry>
+<entry>
+Pixel format conversion library
+</entry>
+</row>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/GNOME/gegl/">gegl</ulink>
+</entry>
+<entry>
+Generic Graphical Library
+</entry>
+</row>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/GNOME/gimp/">gimp</ulink>
+</entry>
+<entry>
+GIMP and the standard set of plug-ins
+</entry>
+</row>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/Archive/gimp-data-extras">gimp-data-extras</ulink>
+</entry>
+<entry>
+GIMP Data files such as brushes, gradients, patterns and the like
+</entry>
+</row>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/GNOME/gimp-gap/">gimp-gap</ulink>
+</entry>
+<entry>
+GIMP Animation Package, a set of plug-ins that provide
+video editing functionality
+</entry>
+</row>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/GNOME/gimp-help/">gimp-help-2</ulink>
+</entry>
+<entry>
+GIMP User Manual
+</entry>
+</row>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/GNOME/gimp-perl/">gimp-perl</ulink>
+</entry>
+<entry>
+GIMP Perl bindings and a bunch of nice gimp-perl scripts
+</entry>
+</row>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/Archive/gimp-plugin-template">gimp-plugin-template</ulink>
+</entry>
+<entry>
+GIMP Plug-In Template, a starting ground for plug-in developers,
+currently in need of updating with regards to the use of GEGL
+</entry>
+</row>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/Archive/gimp-plugins-unstable">gimp-plugins-unstable</ulink>
+</entry>
+<entry>
+GIMP plug-ins from the past, a collection of unstable and
+unmaintained plug-ins
+</entry>
+</row>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/GNOME/gimp-ruby">gimp-ruby</ulink>
+</entry>
+<entry>
+GIMP Ruby-based scripting plug-in
+</entry>
+</row>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/GNOME/gimp-tiny-fu">gimp-tiny-fu</ulink>
+</entry>
+<entry>
+GIMP Tiny-Fu, a drop-in replacement for Script-Fu
+</entry>
+</row>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/Infrastructure/gimp-web">gimp-web</ulink>
+</entry>
+<entry>
+The GIMP web site, available at <ulink url="https://www.gimp.org">www.gimp.org</ulink>
+</entry>
+</row>
+<row>
+<entry>
+<ulink url="https://gitlab.gnome.org/Infrastructure/gimp-web-devel">gimp-web-devel</ulink>
+</entry>
+<entry>
+The source of the pages you are reading right now
+</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</webpage>
diff --git a/content/homepage/lists.md b/content/homepage/lists.md
new file mode 100644
index 0000000..a720c24
--- /dev/null
+++ b/content/homepage/lists.md
@@ -0,0 +1,12 @@
+---
+title: "Mailing Lists"
+description: "The finest spam in town"
+date: 2022-07-20T19:05:03+01:00
+draft: false
+type: new
+url: lists.html
+---
+
+There are several mailing-lists related to GIMP and
+[www.gimp.org lists them all](https://www.gimp.org/mail_lists.html).
+
diff --git a/content/homepage/plug-in-template.md b/content/homepage/plug-in-template.md
new file mode 100644
index 0000000..3d9bd5b
--- /dev/null
+++ b/content/homepage/plug-in-template.md
@@ -0,0 +1,24 @@
+---
+title: "GIMP Plug-In Template"
+abbrev: "Plug-In Template"
+description: "Don't start from scratch"
+date: 2022-07-20T19:05:12+01:00
+draft: false
+url: plug-in-template.html
+---
+
+The GIMP Plug-In Template is an empty GIMP Plug-In that does
+nothing. It also has a GUI that allows to control how it achieves
+this task. But best of all, it comes with a complete setup for
+[autoconf](https://www.gnu.org/software/autoconf/),
+[automake](https://www.gnu.org/software/automake/),
+internationalisation and all these things you never wanted to know
+about.
+
+Thanks to the GIMP Plug-In Template you don't need to worry about
+all these things. Just download the tarball, add some magic image
+manipulation routines and voilà, your own GIMP plug-in.
+
+Grab the latest release from
+[ftp.gimp.org/pub/gimp/plugin-template/](ftp://ftp.gimp.org/pub/gimp/plugin-template/).
+
diff --git a/content/homepage/plug-ins.md b/content/homepage/plug-ins.md
new file mode 100644
index 0000000..4747110
--- /dev/null
+++ b/content/homepage/plug-ins.md
@@ -0,0 +1,19 @@
+---
+title: "Plug Ins"
+date: 2022-07-20T19:05:09+01:00
+draft: true
+---
+
+---
+title: "Plug-In Development"
+description: "Writing GIMP plug-ins"
+---
+
+* [Writing a GIMP Plug-In Part I](writing-a-plug-in-1)
+* [Writing a GIMP Plug-In Part II](writing-a-plug-in-2)
+* [Writing a GIMP Plug-In Part III](writing-a-plug-in-3)
+
+Make good use of the <ulink url="api/2.0">GIMP 2.0 API reference</ulink>,
+and you can also have a look at a talk about
+<ulink url="http://www.home.unix-ag.org/simon/gimp/guadec2002/gimp-plugin/html/">GIMP plug-in
programming</ulink> that Simon gave at GUADEC in Sevilla.
+
diff --git a/content/homepage/screenshots.md b/content/homepage/screenshots.md
new file mode 100644
index 0000000..3801e0a
--- /dev/null
+++ b/content/homepage/screenshots.md
@@ -0,0 +1,63 @@
+---
+
+---
+
+<?xml version='1.0'?>
+<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
+ "dtd/website.dtd">
+
+<webpage id="screenshots" lang="en">
+
+<head>
+<title>Screenshots</title>
+<summary>What everyone is after...</summary>
+</head>
+
+<para>
+Here are a few screenshots of the development version. More should
+be added...
+</para>
+
+<para role="screenshot">
+<ulink url="screenshots/gimp-empty.png">
+<mediaobject>
+<imageobject>
+<imagedata fileref="screenshots/gimp-empty-thumb.png"/>
+</imageobject>
+<textobject>
+<phrase>No image opened</phrase>
+</textobject>
+</mediaobject>
+</ulink>
+This screenshot shows a GNOME desktop and GIMP 2.5 right after
+startup with no image loaded yet.
+</para>
+
+<para role="screenshot">
+<ulink url="screenshots/gimp-print.png">
+<mediaobject>
+<imageobject>
+<imagedata fileref="screenshots/gimp-print-thumb.png"/>
+</imageobject>
+<textobject>
+<phrase>Print dialog</phrase>
+</textobject>
+</mediaobject>
+</ulink>
+The Print plug-in has been further improved for GIMP 2.5.
+</para>
+
+<para role="screenshot">
+<ulink url="screenshots/gimp-curves.png">
+<mediaobject>
+<imageobject>
+<imagedata fileref="screenshots/gimp-curves-thumb.png"/>
+</imageobject>
+<textobject>
+<phrase>Curves dialog</phrase>
+</textobject>
+</mediaobject>
+</ulink>
+These screenshots illustrate changes to the Curves dialog for the
+upcoming GIMP 2.6 release.
+
diff --git a/standards.xml b/content/homepage/standards.md
similarity index 90%
rename from standards.xml
rename to content/homepage/standards.md
index c02857a..3770d1d 100644
--- a/standards.xml
+++ b/content/homepage/standards.md
@@ -1,23 +1,18 @@
-<?xml version='1.0'?>
-<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
- "dtd/website.dtd" >
-
-<webpage id="standards" lang="en">
-
- <head>
- <title>GIMP and Standards</title>
- <titleabbrev>Standards</titleabbrev>
- <summary>Standards GIMP conforms to</summary>
- </head>
-
- <para>
- GIMP is supposed to integrate well into your workflow. Thus is
- needs to interoperate with other applications and your desktop.
- Standards are there to make this happen and so we try to follow
- established (and sometimes even proposed) standards. Below you
- will find a list with links to specifications that a GIMP
- developer may find useful.
- </para>
+---
+title: "GIMP and Standards"
+date: 2022-07-20T19:05:19+01:00
+draft: true
+abbrev: "Standards"
+description: "Standards GIMP conforms to"
+url: standards.html
+---
+
+GIMP is supposed to integrate well into your workflow. Thus is
+needs to interoperate with other applications and your desktop.
+Standards are there to make this happen and so we try to follow
+established (and sometimes even proposed) standards. Below you
+will find a list with links to specifications that a GIMP
+developer may find useful.
<variablelist>
<title>Image File Formats</title>
@@ -27,10 +22,8 @@
<ulink url="http://www.w3.org/XML/">Extensible Markup Language (XML)</ulink>
</term>
<listitem>
- <para>
Describes the XML markup language, used to store the menu layout,
the startup tips, help indices and other things.
- </para>
</listitem>
</varlistentry>
@@ -39,10 +32,8 @@
<ulink url="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">Graphics Interchange Format</ulink>
</term>
<listitem>
- <para>
Describes the GIF file format, used in the GIF plug-in. GIF
is bad, don't use it.
- </para>
</listitem>
</varlistentry>
@@ -51,9 +42,7 @@
<ulink url="http://www.w3.org/Graphics/JPEG/">JPEG (Joint Photographic Experts Group)</ulink>
</term>
<listitem>
- <para>
Describes the JPEG JFIF file format, used in the JPEG plug-in.
- </para>
</listitem>
</varlistentry>
@@ -62,11 +51,9 @@
<ulink url="http://www.libpng.org/pub/mng/spec/jng.html">JNG (JPEG Network Graphics) Format</ulink>
</term>
<listitem>
- <para>
GIMP doesn't use this format yet but it would be nice to
extend the MNG plug-in to use it and to add a dedicated JNG
plug-in.
- </para>
</listitem>
</varlistentry>
@@ -75,9 +62,7 @@
<ulink url="http://www.libpng.org/pub/mng/spec/">MNG (Multiple-image Network Graphics) Format</ulink>
</term>
<listitem>
- <para>
Describes the MNG file format, used in the MNG plug-in.
- </para>
</listitem>
</varlistentry>
@@ -86,11 +71,9 @@
<ulink url="http://www.w3.org/TR/PNG/">Portable Network Graphics (PNG)</ulink>
</term>
<listitem>
- <para>
Describes the PNG file format, used in the PNG plug-in. GIMP
also reads patterns in the PNG file format and it stores
thumbnails as PNG images.
- </para>
</listitem>
</varlistentry>
@@ -99,11 +82,9 @@
<ulink url="http://www.w3.org/TR/SVG/">Scalable Vector Graphics (SVG) 1.1</ulink>
</term>
<listitem>
- <para>
Describes the SVG file format, used in the SVG plug-in. GIMP
uses SVG for import and export of paths and it also loads
gradients from SVG files.
- </para>
</listitem>
</varlistentry>
@@ -112,11 +93,9 @@
<ulink url="http://partners.adobe.com/public/developer/tiff/">TIFF 6.0</ulink>
</term>
<listitem>
- <para>
Describes the TIFF file format, used in the TIFF plug-in. See also
the
<ulink url="http://www.awaresystems.be/imaging/tiff.html">Unofficial TIFF Home Page</ulink>.
- </para>
</listitem>
</varlistentry>
@@ -125,10 +104,8 @@
<ulink url="http://www.adobe.com/products/xmp/main.html">Extensible Metadata Platform (XMP)</ulink>
</term>
<listitem>
- <para>
Describes XMP, a labeling technology that allows to embed
data about a file, known as metadata, into the file itself.
- </para>
</listitem>
</varlistentry>
@@ -137,10 +114,8 @@
<ulink url="http://www.adobe.com/products/dng/pdfs/dng_spec.pdf">Digital Negative (DNG)</ulink>
</term>
<listitem>
- <para>
Specifies DNG, a format, proposed by Adobe, aiming to become
a standard for storing raw data from digital cameras.
- </para>
</listitem>
</varlistentry>
@@ -155,10 +130,8 @@
<ulink url="http://www.w3.org/Graphics/Color/sRGB">sRGB Color Space</ulink>
</term>
<listitem>
- <para>
Describes sRGB, a color space proposed as a standard default
color space for the Internet and other interested vendors.
- </para>
</listitem>
</varlistentry>
@@ -167,12 +140,10 @@
<ulink url="http://www.color.org/icc_specs2.html">ICC Specification</ulink>
</term>
<listitem>
- <para>
Specifies the profile format defined by the International
Color Consortium (ICC). The intent of this format is to
provide a cross-platform device profile format that can be
used to translate color data between device colorspaces.
- </para>
</listitem>
</varlistentry>
@@ -181,10 +152,8 @@
<ulink url="http://www.burtonini.com/computing/x-icc-profiles-spec-latest.html">ICC Profiles In X
Specification</ulink>
</term>
<listitem>
- <para>
This is a specification for associating ICC color profiles
with X screens. GIMP 2.4 implements this proposed standard.
- </para>
</listitem>
</varlistentry>
@@ -198,12 +167,10 @@
<ulink
url="http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html">Desktop Entry
Specification</ulink>
</term>
<listitem>
- <para>
This document describes desktop entries: files describing
information about an application such as the name, icon, and
description. GIMP installs such
a <filename>.desktop</filename> file.
- </para>
</listitem>
</varlistentry>
@@ -212,12 +179,10 @@
<ulink url="http://dbus.freedesktop.org/doc/dbus-specification.html">Desktop Message Bus</ulink>
</term>
<listitem>
- <para>
D-Bus is a message bus for the desktop. If available, GIMP
uses it to detect if another GIMP instance is already
running. In the future, GIMP might make even more use of
D-Bus.
- </para>
</listitem>
</varlistentry>
@@ -226,10 +191,8 @@
<ulink url="http://freedesktop.org/wiki/Specifications/file-uri-spec">File URI Specification</ulink>
</term>
<listitem>
- <para>
Specifies how URIs for normal UNIX filenames (file: URIs)
are interpreted and created. This functionality is provided by GLib,
- </para>
</listitem>
</varlistentry>
@@ -238,10 +201,8 @@
<ulink url="https://developer.gnome.org/hig/stable/">GNOME Human Interface Guidelines</ulink>
</term>
<listitem>
- <para>
We don't follow this spec to the word but we try to adopt as
much of these guidelines as makes sense.
- </para>
</listitem>
</varlistentry>
@@ -250,10 +211,8 @@
<ulink url="http://standards.freedesktop.org/recent-file-spec/recent-file-spec-latest.html">Recent
File Storage Specification</ulink>
</term>
<listitem>
- <para>
Provides a standard mechanism for storing a list of recently
used files. Supported since GIMP version 2.1.6.
- </para>
</listitem>
</varlistentry>
@@ -262,11 +221,9 @@
<ulink
url="http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html">Shared MIME
Database</ulink>
</term>
<listitem>
- <para>
The shared MIME database contains common MIME types, descriptions,
and rules for determining the types of files. GIMP file plug-ins
should use the MIME types and descriptions defined here.
- </para>
</listitem>
</varlistentry>
@@ -275,11 +232,9 @@
<ulink
url="http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt"> Startup
Notification</ulink>
</term>
<listitem>
- <para>
Specifies a mechanism allowing a desktop environment to
track application startup to provide user feedback. GTK+
provides support for this protocol.
- </para>
</listitem>
</varlistentry>
@@ -288,13 +243,11 @@
<ulink
url="https://specifications.freedesktop.org/thumbnail-spec/thumbnail-spec-latest.html">Thumbnail Managing
Standard</ulink>
</term>
<listitem>
- <para>
Deals with the permanent storage of previews for file
content. In particular, it tries to define a general and
widely accepted standard for this task. GIMP 2.0 implements
this standard and dropped support for the old-fashioned
<filename>.xvpics</filename>.
- </para>
</listitem>
</varlistentry>
@@ -309,10 +262,8 @@
<ulink url="http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt">Clipboards</ulink>
</term>
<listitem>
- <para>
Not a formal specification, but explains the consensus of the
Qt and GTK+ developers on how the X clipboard works.
- </para>
</listitem>
</varlistentry>
@@ -321,12 +272,10 @@
<ulink url="http://www.freedesktop.org/wiki/ClipboardManager">Clipboard Manager</ulink>
</term>
<listitem>
- <para>
The Clipboard Manager specification describes how
applications can actively store the contents of the
clipboard when the application is quit. This requires that a
compliant clipboard manager is running.
- </para>
</listitem>
</varlistentry>
@@ -335,10 +284,8 @@
<ulink url="http://freedesktop.org/Standards/XDND">Drag-and-Drop Protocol for the X Window
System</ulink>
</term>
<listitem>
- <para>
XDND defines a standard for drag and drop on X11. It is implemented
by GTK+.
- </para>
</listitem>
</varlistentry>
@@ -347,11 +294,9 @@
<ulink url="http://freedesktop.org/wiki/Standards_2fdirect_2dsave">Direct Save Protocol for the X
Window System</ulink>
</term>
<listitem>
- <para>
XDS defines an extension to XDND that allow users to save a file by
simply dragging it to a file manager window. GIMP 2.4 supports
this protocol.
- </para>
</listitem>
</varlistentry>
@@ -360,10 +305,8 @@
<ulink url="http://standards.freedesktop.org/wm-spec/wm-spec-latest.html">Extended Window Manager
Hints</ulink>
</term>
<listitem>
- <para>
The Window Manager Specification is meant to unify the GNOME and KDE
window manager hint conventions.
- </para>
</listitem>
</varlistentry>
@@ -372,12 +315,10 @@
<ulink url="http://tronche.com/gui/x/icccm/">Inter-Client Communication Conventions Manual
(ICCCM)</ulink>
</term>
<listitem>
- <para>
This spec defines the interaction between X11 clients. In
particular it talks about selections, cut buffers, window
and session management, manipulation of shared resources
and device color characterization.
- </para>
</listitem>
</varlistentry>
@@ -386,12 +327,10 @@
<ulink url="http://standards.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html">XSETTINGS</ulink>
</term>
<listitem>
- <para>
The XSETTINGS protocol provides a mechanism for applications
written with different toolkits to share simple
configuration settings such as double-click-times and
background colors. GTK+ hides this from us.
- </para>
</listitem>
</varlistentry>
@@ -405,11 +344,9 @@
<ulink url="http://developer.gimp.org/HACKING">GIMP Hackordnung</ulink>
</term>
<listitem>
- <para>
The last section from the file HACKING as found in the GIMP
source tree explains how the GIMP source code should be
formatted.
- </para>
</listitem>
</varlistentry>
@@ -418,11 +355,9 @@
<ulink url="http://www.gnu.org/prep/standards/">GNU coding standards</ulink>
</term>
<listitem>
- <para>
A guide to writing portable, robust and reliable
programs. Also defines the
<ulink url="http://www.gnu.org/prep/standards/standards.html#Formatting">GNU coding style</ulink>.
- </para>
</listitem>
</varlistentry>
@@ -431,9 +366,7 @@
<ulink url="http://www.nirvani.net/docs/ansi_c.pdf">ISO/IEC 9899</ulink>
</term>
<listitem>
- <para>
ISO 9899 is the international standard for the C programming language.
- </para>
</listitem>
</varlistentry>
diff --git a/images/developer-barbg.png b/content/images/developer-barbg.png
similarity index 100%
rename from images/developer-barbg.png
rename to content/images/developer-barbg.png
diff --git a/images/developer-left.png b/content/images/developer-left.png
similarity index 100%
rename from images/developer-left.png
rename to content/images/developer-left.png
diff --git a/images/developer-right.png b/content/images/developer-right.png
similarity index 100%
rename from images/developer-right.png
rename to content/images/developer-right.png
diff --git a/images/shadow.gif b/content/images/shadow.gif
similarity index 100%
rename from images/shadow.gif
rename to content/images/shadow.gif
diff --git a/images/shadow.png b/content/images/shadow.png
similarity index 100%
rename from images/shadow.png
rename to content/images/shadow.png
diff --git a/images/wilber-icon.png b/content/images/wilber-icon.png
similarity index 100%
rename from images/wilber-icon.png
rename to content/images/wilber-icon.png
diff --git a/images/wilber.png b/content/images/wilber.png
similarity index 100%
rename from images/wilber.png
rename to content/images/wilber.png
diff --git a/layout.xml b/content/layout.xml
similarity index 100%
rename from layout.xml
rename to content/layout.xml
diff --git a/screenshots/Makefile b/content/screenshots/Makefile
similarity index 100%
rename from screenshots/Makefile
rename to content/screenshots/Makefile
diff --git a/content/screenshots/gimp-curves-thumb.png b/content/screenshots/gimp-curves-thumb.png
new file mode 100644
index 0000000..6941a85
Binary files /dev/null and b/content/screenshots/gimp-curves-thumb.png differ
diff --git a/screenshots/gimp-curves.png b/content/screenshots/gimp-curves.png
similarity index 100%
rename from screenshots/gimp-curves.png
rename to content/screenshots/gimp-curves.png
diff --git a/content/screenshots/gimp-empty-thumb.png b/content/screenshots/gimp-empty-thumb.png
new file mode 100644
index 0000000..f4eda5d
Binary files /dev/null and b/content/screenshots/gimp-empty-thumb.png differ
diff --git a/screenshots/gimp-empty.png b/content/screenshots/gimp-empty.png
similarity index 100%
rename from screenshots/gimp-empty.png
rename to content/screenshots/gimp-empty.png
diff --git a/screenshots/gimp-osx.jpeg b/content/screenshots/gimp-osx.jpeg
similarity index 100%
rename from screenshots/gimp-osx.jpeg
rename to content/screenshots/gimp-osx.jpeg
diff --git a/content/screenshots/gimp-print-thumb.png b/content/screenshots/gimp-print-thumb.png
new file mode 100644
index 0000000..5c78799
Binary files /dev/null and b/content/screenshots/gimp-print-thumb.png differ
diff --git a/screenshots/gimp-print.png b/content/screenshots/gimp-print.png
similarity index 100%
rename from screenshots/gimp-print.png
rename to content/screenshots/gimp-print.png
diff --git a/writing-a-plug-in-1.xml b/content/writing-a-plug-in/1.md
similarity index 81%
rename from writing-a-plug-in-1.xml
rename to content/writing-a-plug-in/1.md
index 5916754..084676e 100644
--- a/writing-a-plug-in-1.xml
+++ b/content/writing-a-plug-in/1.md
@@ -1,46 +1,29 @@
-<?xml version='1.0'?>
-<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
- "dtd/website.dtd" [
-<!ENTITY writing-a-plug-in-2 SYSTEM "writing-a-plug-in-2.xml" NDATA XML>
-]>
-
-<webpage id="writing-a-plug-in-1" lang="en">
-
- <head>
- <title>How to write a GIMP plug-in</title>
- <titleabbrev>Writing A Plug-In</titleabbrev>
- <summary>Write your own</summary>
- </head>
-
- <para>
- Written By <ulink url="mailto:bolsh NOSPAM gimp org">Dave Neary</ulink>
- </para>
-
- <para>
- In this article, I present GIMP plug-ins basics and introduce the
- libgimp API. I will also show how to use the PDB to make our
- plug-in available to other script authors.
- </para>
+---
+title: "How to write a GIMP plug-in"
+abbrev: "Writing A Plug-In"
+description: "Write your own"
+---
- <section>
- <title>Introduction</title>
+Written By <ulink url="mailto:bolsh NOSPAM gimp org">Dave Neary</ulink>
- <para>
- New developers are often intimidated by The GIMP size and its
- reputation. They think that writing a plug-in would be a
- difficult task. The goal of these articles is to dumb this
- feeling down, by showing how easily one can make a C plug-in.
- </para>
+In this article, I present GIMP plug-ins basics and introduce the
+libgimp API. I will also show how to use the PDB to make our
+plug-in available to other script authors.
- <para>
- In this part, I present a plug-in's basic elements. We will see
- how to install a plug-in and how to get data from an image and
- directly manipulate it.
- </para>
- </section>
+<section>
+<title>Introduction</title>
- <section>
- <title>Architecture</title>
+<para>
+New developers are often intimidated by The GIMP size and its
+reputation. They think that writing a plug-in would be a
+difficult task. The goal of these articles is to dumb this
+feeling down, by showing how easily one can make a C plug-in.
+
+In this part, I present a plug-in's basic elements. We will see
+how to install a plug-in and how to get data from an image and
+directly manipulate it.
+
+## Architecture
<para role="images">
<ulink url="architecture.png">
@@ -56,40 +39,28 @@
</ulink>
</para>
- <para>
- The GIMP script interface is centered on the Procedural database
- (PDB). At startup, The GIMP looks into a predefined set of
- places for scripts and plug-ins, and asks each new script to
- identify itself.
- </para>
+The GIMP script interface is centered on the Procedural database
+(PDB). At startup, The GIMP looks into a predefined set of
+places for scripts and plug-ins, and asks each new script to
+identify itself.
- <para>
- The plug-in declares itself to the PDB at that time, and passes
- informations like the position it wishes to get in the menu
- hierarchy, input parameters, and output parameters.
- </para>
+The plug-in declares itself to the PDB at that time, and passes
+informations like the position it wishes to get in the menu
+hierarchy, input parameters, and output parameters.
- <para>
- When a script or a plug-in wants to use our plug-in, it gets
- through the PDB, which manages communicating parameters in one
- direction and the other in a transparent way.
- </para>
+When a script or a plug-in wants to use our plug-in, it gets
+through the PDB, which manages communicating parameters in one
+direction and the other in a transparent way.
- <para>
- Internal functions that wish to get exposed to plug-ins have to
- be packaged first in the core, that will register them in the
- PDB, and secondly in the libgimp that will allow the function to
- be called as a normal one.
- </para>
+Internal functions that wish to get exposed to plug-ins have to
+be packaged first in the core, that will register them in the
+PDB, and secondly in the libgimp that will allow the function to
+be called as a normal one.
- <para>
- This was the introduction - now, we will look closer at our
- first plug-in, a "Hello, world!".
- </para>
- </section>
+This was the introduction - now, we will look closer at our
+first plug-in, a "Hello, world!".
- <section>
- <title>Compiling the plug-in</title>
+## Compiling the plug-in
<para>
To be able to compile simple plug-ins for The GIMP, one needs
diff --git a/writing-a-plug-in-2.xml b/content/writing-a-plug-in/2.md
similarity index 70%
rename from writing-a-plug-in-2.xml
rename to content/writing-a-plug-in/2.md
index bdf85b7..92a8b8e 100644
--- a/writing-a-plug-in-2.xml
+++ b/content/writing-a-plug-in/2.md
@@ -1,86 +1,56 @@
-<?xml version='1.0'?>
-<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
- "dtd/website.dtd" [
-<!ENTITY writing-a-plug-in-1 SYSTEM "writing-a-plug-in-1.xml" NDATA XML>
-<!ENTITY writing-a-plug-in-3 SYSTEM "writing-a-plug-in-3.xml" NDATA XML>
-]>
-
-<webpage id="writing-a-plug-in-2" lang="en">
-
- <head>
- <title>How to write a GIMP plug-in, part II</title>
- <titleabbrev>Part II</titleabbrev>
- <summary>Write your own</summary>
- </head>
-
- <para>
- Written By <ulink url="mailto:bolsh NOSPAM gimp org">Dave Neary</ulink>
- </para>
-
- <para>
- In the <olink targetdocent="writing-a-plug-in-1">first
- part</olink>, I presented essential elements to build a plug-in
- interface with The GIMP. Now we will produce a simple but useful
- algorithm that we could use in our plug-in.
- </para>
-
- <section>
- <title>Introduction</title>
-
- <para>
- The algorithm we are going to implement is a simple blur. It is
- included in The GIMP as "Filters->Blur->Blur" with default
- parameters.
- </para>
-
- <para>
- That algorithm is very simple. Each pixel in our image is
- replaced by a mean value of its neighbours. For example, if we
- look at the simplest case where the neighbourhood is 3x3 (see
- figure 1), in that case the center value will be replaced with
- 5, the mean of the 9 numbers in its neighbourhood.
- </para>
-
- <para>
- With this method, edge differences are splatted, giving a
- blurred result. One can choose another radius, using a (2r + 1)
- x (2r + 1) matrix.
- </para>
- </section>
-
- <section>
- <title>Image structure</title>
-
- <para>
- Last month, we wrote a run() function that did nothing useful.
- Let's look again at run() prototype:
- </para>
-
- <programlisting>
- <![CDATA[
- static void run (const gchar *name,
- gint nparams,
- const GimpParam *param,
- gint *nreturn_vals,
- GimpParam **return_vals);
- ]]>
- </programlisting>
-
- <para>
- We saw that for a filter (i.e. a plug-in that modifies the
- image), the first three input parameters were the run mode, an
- identifier for the image, and another one for the active
- drawable (layer or mask).
- </para>
-
- <para>
- A GIMP image is a structure that contains, among others, guides,
- layers, layer masks, and any data associated to the image. The
- word "drawable" is often used in GIMP internal structures. A
- "drawable" is an object where you can get, and sometimes modify,
- raw data. So : layers, layer masks, selections are all
- "drawables".
- </para>
+---
+title: "How to write a GIMP plug-in, part II"
+abbrev: "Part II"
+description: "Write your own"
+---
+
+Written By <ulink url="mailto:bolsh NOSPAM gimp org">Dave Neary</ulink>
+
+In the <olink targetdocent="writing-a-plug-in-1">first
+part</olink>, I presented essential elements to build a plug-in
+interface with The GIMP. Now we will produce a simple but useful
+algorithm that we could use in our plug-in.
+
+## Introduction
+
+The algorithm we are going to implement is a simple blur. It is
+included in The GIMP as "Filters->Blur->Blur" with default
+parameters.
+
+That algorithm is very simple. Each pixel in our image is
+replaced by a mean value of its neighbours. For example, if we
+look at the simplest case where the neighbourhood is 3x3 (see
+figure 1), in that case the center value will be replaced with
+5, the mean of the 9 numbers in its neighbourhood.
+
+With this method, edge differences are splatted, giving a
+blurred result. One can choose another radius, using a (2r + 1)
+x (2r + 1) matrix.
+
+## Image structure
+
+Last month, we wrote a run() function that did nothing useful.
+Let's look again at run() prototype:
+
+```
+static void run (const gchar *name,
+ gint nparams,
+ const GimpParam *param,
+ gint *nreturn_vals,
+ GimpParam **return_vals);
+```
+
+We saw that for a filter (i.e. a plug-in that modifies the
+image), the first three input parameters were the run mode, an
+identifier for the image, and another one for the active
+drawable (layer or mask).
+
+A GIMP image is a structure that contains, among others, guides,
+layers, layer masks, and any data associated to the image. The
+word "drawable" is often used in GIMP internal structures. A
+"drawable" is an object where you can get, and sometimes modify,
+raw data. So : layers, layer masks, selections are all
+"drawables".
<para role="images">
<ulink url="GimpImage.png">
@@ -94,11 +64,8 @@
</mediaobject>
Drawables
</ulink>
- </para>
- </section>
- <section>
- <title>Accessing the data</title>
+## Accessing the data
<para>
To get a GimpDrawable from its identifier, we need the
@@ -207,34 +174,24 @@
</para>
</section>
- <section>
- <title>Updating the image</title>
+## Updating the image
- <para>
- At last, a plug-in that has modified a drawable data must flush
- it to send data to the core, and to tell the application that
- the display must be updated. This is done with the following
- function:
- </para>
+At last, a plug-in that has modified a drawable data must flush
+it to send data to the core, and to tell the application that
+the display must be updated. This is done with the following
+function:
- <programlisting>
- <![CDATA[
- gimp_displays_flush ();
- gimp_drawable_detach (drawable);
- ]]>
- </programlisting>
- </section>
+```
+ gimp_displays_flush ();
+ gimp_drawable_detach (drawable);
+```
- <section>
- <title>Implementing blur()</title>
+## Implementing blur()
- <para>
- To be able to try out several different processing methods, we
- will delegate the job to a blur() function. Our run() is below.
- </para>
+To be able to try out several different processing methods, we
+will delegate the job to a blur() function. Our run() is below.
- <programlisting>
- <![CDATA[
+```
static void
run (const gchar *name,
gint nparams,
@@ -277,52 +234,42 @@
gimp_displays_flush ();
gimp_drawable_detach (drawable);
}
- ]]>
- </programlisting>
-
- <para>
- There are a few lines here that need to be explained a bit more.
- The call to gimp_progress_init() initialises a progress
- measurement for our plug-in. Later, if we call
- gimp_progress_update(double percent), the percentage given as an
- input parameter will be shown graphically. The run_mode tells us
- whether the plug-in was launched in a way such as we can display
- a graphical interface or not. Possible values are
- GIMP_RUN_INTERACTIVE, GIMP_RUN_NONINTERACTIVE or
- GIMP_RUN_WITH_LAST_VALS, which mean the plug-in was executed
- from The GIMP, from a script, or from the "Repeat last filter"
- menu entry.
- </para>
-
- <para>
- Regarding the blur algorithm itself, the first version using
- gimp_pixel_rgn_(get|set)_pixel() is found below. Some functions
- in it have not been explained yet.
- </para>
-
- <para>
- gimp_drawable_mask_bounds() allows calculation of the filter's
- effect limits, excluding any region that is not in the active
- selection. Limiting the processing this way allows an important
- performance improvement.
- </para>
-
- <para>
- gimp_pixel_rgn_init() takes as input parameters the drawable,
- its limits for the processing, and two booleans that
- significantly modify the behaviour of the resulting GimpPixelRgn.
- The first one tells that "set" operations must be done on shadow
- tiles, in order to leave original data as is until
- gimp_drawable_merge_shadow() is called, when all modified data
- will be merged. The second one tells that modified tiles should
- be tagged "dirty" and sent to the core to be merged. Most of the
- time, to read data, one uses FALSE and FALSE for these two
- parameters, and to write data, one uses TRUE and TRUE. Other
- combinations are possible but seldom used.
- </para>
-
- <programlisting>
- <![CDATA[
+```
+
+There are a few lines here that need to be explained a bit more.
+The call to gimp_progress_init() initialises a progress
+measurement for our plug-in. Later, if we call
+gimp_progress_update(double percent), the percentage given as an
+input parameter will be shown graphically. The run_mode tells us
+whether the plug-in was launched in a way such as we can display
+a graphical interface or not. Possible values are
+GIMP_RUN_INTERACTIVE, GIMP_RUN_NONINTERACTIVE or
+GIMP_RUN_WITH_LAST_VALS, which mean the plug-in was executed
+from The GIMP, from a script, or from the "Repeat last filter"
+menu entry.
+
+Regarding the blur algorithm itself, the first version using
+gimp_pixel_rgn_(get|set)_pixel() is found below. Some functions
+in it have not been explained yet.
+
+`gimp_drawable_mask_bounds()` allows calculation of the filter's
+effect limits, excluding any region that is not in the active
+selection. Limiting the processing this way allows an important
+performance improvement.
+
+`gimp_pixel_rgn_init()` takes as input parameters the drawable,
+its limits for the processing, and two booleans that
+significantly modify the behaviour of the resulting GimpPixelRgn.
+The first one tells that "set" operations must be done on shadow
+tiles, in order to leave original data as is until
+gimp_drawable_merge_shadow() is called, when all modified data
+will be merged. The second one tells that modified tiles should
+be tagged "dirty" and sent to the core to be merged. Most of the
+time, to read data, one uses FALSE and FALSE for these two
+parameters, and to write data, one uses TRUE and TRUE. Other
+combinations are possible but seldom used.
+
+```
static void
blur (GimpDrawable *drawable)
{
@@ -425,26 +372,19 @@
x1, y1,
x2 - x1, y2 - y1);
}
- ]]>
- </programlisting>
- </section>
+```
- <section>
- <title>Row processing</title>
+## Row processing
- <para>
- Our function has a bug drawback: performance. On a 300x300
- selection, with the timing code uncommented, blur() took 12
- minutes on my K6-2 350MHz, well loaded with other stuff. To
- compare, on the same selection, Gaussian blur took 3 seconds.
- </para>
+Our function has a bug drawback: performance. On a 300x300
+selection, with the timing code uncommented, blur() took 12
+minutes on my K6-2 350MHz, well loaded with other stuff. To
+compare, on the same selection, Gaussian blur took 3 seconds.
- <para>
- If we modify our function to rather use
- gimp_pixel_rgn_(get|set)_row() the result is far better. We
- reduce the timing for the 300x300 selection from 760 seconds to
- 6 seconds. blur() V2 is below:
- </para>
+If we modify our function to rather use
+gimp_pixel_rgn_(get|set)_row() the result is far better. We
+reduce the timing for the 300x300 selection from 760 seconds to
+6 seconds. blur() V2 is below:
<programlisting>
<![CDATA[
diff --git a/writing-a-plug-in-3.xml b/content/writing-a-plug-in/3.md
similarity index 98%
rename from writing-a-plug-in-3.xml
rename to content/writing-a-plug-in/3.md
index ca168d2..620bb43 100644
--- a/writing-a-plug-in-3.xml
+++ b/content/writing-a-plug-in/3.md
@@ -1,22 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.4.1//EN"
- "dtd/website.dtd" [
-<!ENTITY writing-a-plug-in-2 SYSTEM "writing-a-plug-in-2.xml" NDATA XML>
-]>
-
-<webpage id="writing-a-plug-in-3" lang="en">
-
- <head>
- <title>How to write a GIMP plug-in, part III</title>
- <titleabbrev>Part III</titleabbrev>
- <summary>Write your own</summary>
- </head>
-
- <para>
- Written By <ulink url="mailto:bolsh NOSPAM gimp org">Dave Neary</ulink>
- </para>
+---
+title: "How to write a GIMP plug-in, part III"
+abbrev: "Part III"
+description: "Write your own"
+---
+
+Written By <ulink url="mailto:bolsh NOSPAM gimp org">Dave Neary</ulink>
- <para>
In the <olink targetdocent="writing-a-plug-in-2">second
part</olink>, I told you about manipulating image data by pixel or
row. This time, I will go farther and process data by tile, which
@@ -148,7 +137,7 @@
are there to keep the blur code clean and small.
</para>
- <programlisting>
+```
<![CDATA[
static void blur (GimpDrawable *drawable);
@@ -904,5 +893,3 @@
</para>
</section>
-</webpage>
-
diff --git a/themes/hyde/CHANGELOG.md b/themes/hyde/CHANGELOG.md
new file mode 100644
index 0000000..891329a
--- /dev/null
+++ b/themes/hyde/CHANGELOG.md
@@ -0,0 +1,7 @@
+# Changelog
+
+## Version 1.0
+
+- Due to the switch to the base template feature the minimum required version of Hugo changed to v0.21
+- Support for Google Analytics have been added
+- Hugo's internal Disqus template replaced the custom one of this theme. The Disqus shortname now has to be
defined outsite the `[params]` blog
diff --git a/themes/hyde/LICENSE.md b/themes/hyde/LICENSE.md
new file mode 100644
index 0000000..c344d14
--- /dev/null
+++ b/themes/hyde/LICENSE.md
@@ -0,0 +1,9 @@
+# Released under MIT License
+
+Copyright (c) 2013 Mark Otto.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without
limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
Software, and to permit persons to whom the Software is furnished to do so, subject to the following
conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/themes/hyde/README.md b/themes/hyde/README.md
new file mode 100644
index 0000000..fa8c4b9
--- /dev/null
+++ b/themes/hyde/README.md
@@ -0,0 +1 @@
+# GIMP Developer theme based on Hyde
diff --git a/themes/hyde/archetypes/default.md b/themes/hyde/archetypes/default.md
new file mode 100644
index 0000000..74583a2
--- /dev/null
+++ b/themes/hyde/archetypes/default.md
@@ -0,0 +1,6 @@
++++
+Description = ""
+Tags = ["Development", "golang"]
+Categories = ["Development", "GoLang"]
+menu = "main"
++++
diff --git a/themes/hyde/go.mod b/themes/hyde/go.mod
new file mode 100644
index 0000000..3ee4de3
--- /dev/null
+++ b/themes/hyde/go.mod
@@ -0,0 +1,3 @@
+module github.com/spf13/hyde
+
+go 1.12
diff --git a/themes/hyde/images/screenshot.png b/themes/hyde/images/screenshot.png
new file mode 100644
index 0000000..8248097
Binary files /dev/null and b/themes/hyde/images/screenshot.png differ
diff --git a/themes/hyde/images/tn.png b/themes/hyde/images/tn.png
new file mode 100644
index 0000000..b6778fd
Binary files /dev/null and b/themes/hyde/images/tn.png differ
diff --git a/themes/hyde/layouts/404.html b/themes/hyde/layouts/404.html
new file mode 100644
index 0000000..a919514
--- /dev/null
+++ b/themes/hyde/layouts/404.html
@@ -0,0 +1,4 @@
+{{ define "main" -}}
+<h1>404: Page not found</h1>
+<p class="lead">Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. <a
href="{{ .Site.BaseURL }}">Head back home</a> to try finding it again.</p>
+{{- end }}
\ No newline at end of file
diff --git a/themes/hyde/layouts/_default/baseof.html b/themes/hyde/layouts/_default/baseof.html
new file mode 100644
index 0000000..7f5133f
--- /dev/null
+++ b/themes/hyde/layouts/_default/baseof.html
@@ -0,0 +1,43 @@
+{{ partial "head.html" . }}
+ <body class="{{ .Site.Params.themeColor }} {{if .Site.Params.layoutReverse}}layout-reverse{{end}}">
+ <div class="titlebar">
+ <a href="index.html">
+ <img class="titlebarleft" src="images/developer-left.png" alt="" />
+ </a>
+ <img class="titlebarright" src="images/developer-right.png" alt="" />
+ </div>
+ <div class="webpage">
+ <a name="home" id="home"></a>
+ <table class="layout" summary="Navigation">
+ <tr>
+ {{ partial "sidebar.html" . }}
+ <td class="main">
+ <main class="content container">
+ {{ block "main" . -}}{{- end }}
+ </main>
+
+ {{ if not .Site.IsServer }}
+ {{ template "_internal/google_analytics.html" . }}
+ {{ end }}
+ <br />
+ </td>
+ </tr>
+ </table>
+ </div>
+ <div class="linkbar"><a href="http://developer.gimp.org/">GIMP Developer Resources</a> | <a
href="http://www.gimp.org/">GIMP Website</a> | <a href="http://www.gegl.org/">GEGL Website</a></div>
+ <div>
+ <span class="footerleft">
+ <span class="copyright">Copyright © 2003-2022 The GIMP Development Team. </span>
+ </span>
+ <span class="footerright">
+ <a href="mailto:webmaster gimp org">webmaster gimp org</a>
+ </span>
+ </div>
+ <div style="clear: both; margin: 0; width: 100%; "></div>
+ <div class="validator">
+ <span style="position: absolute; left: 0; font-size: xx-small;">
+ <a href="http://validator.w3.org/check/referer">Validate XHTML</a>
+ </span>
+ </div>
+ </body>
+</html>
diff --git a/themes/hyde/layouts/_default/list.html b/themes/hyde/layouts/_default/list.html
new file mode 100644
index 0000000..47a6453
--- /dev/null
+++ b/themes/hyde/layouts/_default/list.html
@@ -0,0 +1,9 @@
+{{ define "main" -}}
+<ul class="posts">
+{{ range .Data.Pages -}}
+ <li>
+ <span><a href="{{ .Permalink }}">{{ .Title }}</a> <time class="pull-right post-list" datetime="{{
.Date.Format "2006-01-02T15:04:05Z0700" }}">{{ .Date.Format "Mon, Jan 2, 2006" }}</time></span>
+ </li>
+{{- end }}
+</ul>
+{{- end }}
diff --git a/themes/hyde/layouts/_default/single.html b/themes/hyde/layouts/_default/single.html
new file mode 100644
index 0000000..292e7ff
--- /dev/null
+++ b/themes/hyde/layouts/_default/single.html
@@ -0,0 +1,7 @@
+{{ define "main" -}}
+<div class="post">
+ <h1>{{ .Title }}</h1>
+ <time datetime={{ .Date.Format "2006-01-02T15:04:05Z0700" }} class="post-date">{{ .Date.Format "Mon, Jan
2, 2006" }}</time>
+ {{ .Content }}
+</div>
+{{- end }}
diff --git a/themes/hyde/layouts/index.html b/themes/hyde/layouts/index.html
new file mode 100644
index 0000000..ec6d2eb
--- /dev/null
+++ b/themes/hyde/layouts/index.html
@@ -0,0 +1,18 @@
+{{ define "main" -}}
+<div class="posts">
+{{ range .Site.RegularPages -}}
+<article class="post">
+ <h1 class="post-title">
+ <a href="{{ .Permalink }}">{{ .Title }}</a>
+ </h1>
+ <time datetime="{{ .Date.Format "2006-01-02T15:04:05Z0700" }}" class="post-date">{{ .Date.Format "Mon, Jan
2, 2006" }}</time>
+ {{ .Summary }}
+ {{ if .Truncated }}
+ <div class="read-more-link">
+ <a href="{{ .RelPermalink }}">Read More…</a>
+ </div>
+ {{ end }}
+</article>
+{{- end }}
+</div>
+{{- end }}
diff --git a/themes/hyde/layouts/partials/head.html b/themes/hyde/layouts/partials/head.html
new file mode 100644
index 0000000..7241110
--- /dev/null
+++ b/themes/hyde/layouts/partials/head.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml"{{with .Site.LanguageCode}} xml:lang="{{.}}" lang="{{.}}"{{end}}>
+<head>
+ <link href="https://gmpg.org/xfn/11" rel="profile">
+ <meta http-equiv="content-type" content="text/html; charset=utf-8">
+ {{ hugo.Generator }}
+
+ <!-- Enable responsiveness on mobile devices-->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ {{ if .IsHome -}}
+ <title>{{ .Site.Title }}</title>
+ {{- else -}}
+ <title>{{ .Title }} · {{ .Site.Title }}</title>
+ {{- end }}
+ <meta name="description" content="{{if .IsHome}}{{ $.Site.Params.description
}}{{else}}{{.Description}}{{end}}" />
+
+ <!-- CSS -->
+ <link type="text/css" rel="stylesheet" href="{{ .Site.BaseURL }}css/print.css" media="print">
+ <link type="text/css" rel="stylesheet" href="{{ .Site.BaseURL }}css/poole.css">
+ <link type="text/css" rel="stylesheet" href="{{ .Site.BaseURL }}css/syntax.css">
+ <link type="text/css" rel="stylesheet" href="{{ .Site.BaseURL }}css/hyde.css">
+ {{ partial "head_fonts.html" . }}
+
+ <!-- Icons -->
+ <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144-precomposed.png">
+ <link rel="shortcut icon" href="/favicon.png">
+
+ <!-- RSS etc -->
+ {{ range .AlternativeOutputFormats -}}
+ {{ printf `<link href="%s" rel="%s" type="%s" title="%s" />` .Permalink .Rel .MediaType.Type
$.Site.Title | safeHTML }}
+ {{ end -}}
+</head>
diff --git a/themes/hyde/layouts/partials/head_fonts.html b/themes/hyde/layouts/partials/head_fonts.html
new file mode 100644
index 0000000..4729eb2
--- /dev/null
+++ b/themes/hyde/layouts/partials/head_fonts.html
@@ -0,0 +1 @@
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Abril+Fatface|PT+Sans:400,400i,700">
diff --git a/themes/hyde/layouts/partials/hook_head_end.html b/themes/hyde/layouts/partials/hook_head_end.html
new file mode 100644
index 0000000..e69de29
diff --git a/themes/hyde/layouts/partials/sidebar.html b/themes/hyde/layouts/partials/sidebar.html
new file mode 100644
index 0000000..766f72a
--- /dev/null
+++ b/themes/hyde/layouts/partials/sidebar.html
@@ -0,0 +1,8 @@
+<td class="menu">
+ {{ range .Site.Menus.main -}}
+ <span class="toplevel">
+ <a href="{{.URL}}"> {{ .Name }} </a>
+ <br />
+ </span>
+ {{- end }}
+</td>
diff --git a/themes/hyde/static/apple-touch-icon-144-precomposed.png
b/themes/hyde/static/apple-touch-icon-144-precomposed.png
new file mode 100644
index 0000000..19323de
Binary files /dev/null and b/themes/hyde/static/apple-touch-icon-144-precomposed.png differ
diff --git a/themes/hyde/static/css/hyde.css b/themes/hyde/static/css/hyde.css
new file mode 100644
index 0000000..597c8cd
--- /dev/null
+++ b/themes/hyde/static/css/hyde.css
@@ -0,0 +1,300 @@
+/* This is the stylesheet of http://developer.gimp.org/ and should
+ * only be changed by the designer or the website maintainer. Remember
+ * that changes done here will change the appearance on the whole site
+ * so keep a backup of this file while working with it. Niklas */
+
+/* Copyright (C) 2002-2006 by The GIMP Web Team - Contributions by:
+ * Ville Pätsi (drc), Henrik Brix Andersen (brix), Carol Spears
+ * (carol), Niklas Mattisson (scizzo), Raphaël Quinet (raphael),
+ * Branko Collin (branko), Sven Neumann (neo) and Øyvind Kolås
+ * (pippin)
+ *
+ * This style sheet and corresponding site layout are designed to be
+ * used on official GIMP web sites only. You may copy some parts of
+ * this file into your own style sheet as long as you create your own
+ * design that is significantly different from the one used on GIMP
+ * web sites (layout, colors, etc.) and you give appropriate credit if
+ * you copy more than a few lines from this file (do not claim that
+ * you wrote everything yourself).
+ */
+
+body {
+ background: white;
+ color: black;
+ font-family: arial,helvetica,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+a {
+ background: transparent;
+ color: #566e41;
+ text-decoration: none;
+ font-weight: bold;
+}
+
+a:hover {
+ background: transparent;
+ color: #991e1e;
+ text-decoration: underline;
+ font-weight: bold;
+}
+
+img {
+ border: none;
+}
+
+img.map {
+ margin: 0px;
+ padding: 0px;
+}
+
+p {
+ margin-top: 1.33em;
+ margin-right: 1.33em;
+ text-align: justify;
+}
+
+p.title {
+ font-size: 110%;
+}
+
+p.images img {
+ border: solid black 2px;
+}
+
+p.framelessimages,
+p.images {
+ text-align: center;
+}
+
+p.screenshot {
+ clear:both;
+ padding: 1em;
+}
+
+p.screenshot .mediaobject {
+ float: left;
+ background: url(/images/shadow.png) no-repeat bottom right !important;
+ background: url(/images/shadow.gif) no-repeat bottom right;
+ margin: 0 0 6px 6px;
+ padding: 4px;
+}
+
+p.screenshot .mediaobject img {
+ border: none;
+ margin: -6px 2px -2px -6px;
+}
+
+li {
+ text-align: justify;
+}
+
+td {
+ padding: 5px 5px 0px 0px;
+}
+
+td.main {
+ padding: 10px;
+ padding-left: 40px;
+ padding-right: 40px;
+ vertical-align: top;
+ width: 100%;
+}
+
+td.map {
+ margin: 0px;
+ padding: 0px;
+}
+
+h1 {
+ background-color: #dce5d4;
+ color: black;
+ border: thin solid #a9b3a1;
+ padding: 5px;
+ margin-bottom: 30px;
+ margin-left: -30px;
+ margin-right: -30px;
+ font-weight: bold;
+ font-size: 110%;
+ text-align: center;
+}
+
+h2 {
+ font-weight: bold;
+ clear: both;
+ font-size: 110%;
+}
+
+h3 {
+ font-weight: bold;
+ clear: both;
+ font-size: 105%;
+}
+
+td.menu {
+ background: #dce5d4;
+ color: black;
+ border-style: solid;
+ border-color: #a9b3a1;
+ border-top-width: 0px;
+ border-bottom-width: 0px;
+ border-left-width: 0px;
+ border-right-width: 1px;
+ padding: 10px;
+ font-weight: bold;
+ vertical-align: top;
+ white-space: nowrap;
+}
+
+table.layout {
+ clear: both;
+ margin: 0px;
+ border: none;
+ padding: 0px;
+ border-collapse: collapse;
+ width: 100%;
+}
+
+div.titlebar {
+ background-image: url("../images/developer-barbg.png");
+ background-repeat: repeat-x;
+ height: 100px;
+}
+
+div.informaltable table {
+ border-collapse: collapse;
+}
+
+div.informaltable table tr td, div.informaltable table tr th {
+ padding: 5px;
+}
+
+img.titlebarleft {
+ float: left;
+}
+
+img.titlebarright {
+ float: right;
+}
+
+div.linkbar, div.navbar {
+ clear: both;
+ background: #dce5d4;
+ color: black;
+ border: solid #a9b3a1;
+ border-width: 1px 0px 1px 0px;
+ padding: 5px 5px 5px 5px;
+ font-weight: bold;
+ text-align: center;
+}
+
+span.footerleft {
+ float: left;
+ padding: 20px;
+}
+
+span.footerright {
+ float: right;
+ padding: 20px;
+}
+
+span.shrink1 {
+ padding-left: 10px;
+ font-size: 95%;
+}
+
+span.shrink2 {
+ padding-left: 20px;
+ font-size: 90%;
+}
+
+span.shrink3 {
+ padding-left: 30px;
+ font-size: 85%;
+}
+
+div.rss {
+ margin-top: 1em;
+ margin-bottom: 2em;
+}
+
+div.rss dd p {
+ white-space: pre;
+ border-width: 0px;
+ padding: 0px;
+ border: 2px solid red;
+}
+
+div.rss img {
+ border: none;
+ float: right;
+ border: 2px solid red;
+}
+
+div.rss p {
+ background-color: green;
+ display: inline;
+}
+
+span.date {
+ display: block;
+ font-size: 75%;
+ padding-right: 1em;
+ font-style: italic;
+ background-color: #ddd;
+ text-align: right;
+ border-left: 1px solid #888;
+ border-top: 1px solid #888;
+ border-right: 1px solid #888;
+}
+
+div.rss ul {
+ padding-right: 1em;
+ margin-top: -0.1em;
+ padding-left: 2.0em;
+}
+
+div.rss strong {
+ font-weight: bold;
+ font-style: italic;
+ color: #566e41;
+}
+div.rss b {
+ font-weight : normal;
+ color: #000:
+}
+
+
+div.rss b {
+ font-weight: normal;
+}
+
+div.rss ul li {
+ text-align: left;
+}
+
+div.rss_entry {
+ margin-bottom: 1em;
+}
+
+div.qandaset tr.question td {
+ padding-top: 15px;
+}
+
+div.qandaset tr.question p {
+ margin: 0px;
+}
+
+@media print {
+
+div.navbar, div.linkbar, td.menu {
+ display: none
+}
+
+td.main {
+ padding-right: 0px;
+ padding-left: 0px;
+}
+
+}
diff --git a/themes/hyde/static/favicon.png b/themes/hyde/static/favicon.png
new file mode 100644
index 0000000..84cce4d
Binary files /dev/null and b/themes/hyde/static/favicon.png differ
diff --git a/themes/hyde/theme.toml b/themes/hyde/theme.toml
new file mode 100644
index 0000000..977fc14
--- /dev/null
+++ b/themes/hyde/theme.toml
@@ -0,0 +1,17 @@
+name = "GIMP Developer Theme"
+license = "MIT"
+licenselink = "https://github.com/spf13/hyde/blob/master/LICENSE.md"
+description = "A fork of the Hyde theme."
+tags = ["blog", "company"]
+features = ["blog", "themes", "disqus"]
+min_version = 0.53
+
+[author]
+ name = "spf13"
+ homepage = "http://spf13.com"
+
+# If Porting existing theme
+[original]
+ author = "mdo"
+ homepage = "http://markdotto.com/"
+ repo = "https://www.github.com/mdo/hyde"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]