]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blob - doc/themes/discussion.mdwn
update for rename of recentchanges.mdwn to json.tl.ph.mdwn
[git.ikiwiki.info.git] / doc / themes / discussion.mdwn
1 I would like to contribute a theme I created and posted on github:
3 [[https://github.com/AntPortal/ikiwiked]]
5 For an example of the theme in action, see: [[https://antportal.com/wiki/]]
7 > Shouldn't we just make people post their themes in the [[themes]] page? Or maybe we should make a [[theme market]]? --[[anarcat]]
9 > I did just that. -- [[anarcat]]
11 What is the process for merging a theme in Ikiwiki? It seems to me the
12 [[Bootstrap theme|http://www2.tblein.eu/posts/How_to_have_a_nice_design_for_ikiwiki/]]
13 could improve the options a lot... See the [[theme market]] for the
14 links to the actual theme. -- [[anarcat]]
16 > Step 1 is to not need two versions of page.tmpl to be maintained.
17 > This is, unfortunately, the reason why I have not pulled in the bootstrap
18 > theme yet. I recently made `<TMPL_IF THEME_$NAME>` be available,
19 > so the page.tmpl could use that to do different things if the boostrap
20 > theme was enabled. --[[Joey]]
22 >> Would you reconsider? I've made [[this bootstrap theme|/forum/bootstrap_theme]] that works within the theme plugin without changing the `templatedir` configuration option. It seems that the `page.tmpl` I have in the subfolder `templates` takes precedence. Not sure what you meant by "two versions of page.tmpl", though. -- [[desci]]
24 >>> The reason we don't want individual themes shipped with ikiwiki
25 >>> to have to include their own `page.tmpl` is that when we add new
26 >>> features (such as new plugins) to the ikiwiki core, if those features
27 >>> require a `page.tmpl` change, we don't want to have to add them to
28 >>> multiple variations of `page.tmpl`. This would either lead to
29 >>> increased maintenance work (repeating ourselves), or theme-dependent
30 >>> feature availability like what happens in Wordpress (for instance
31 >>> imagine if `osm` only worked with Bootstrap and `sidebar` only worked
32 >>> with Actiontabs - you wouldn't be able to have both).
33 >>>
34 >>> If you maintain your own local theme, you're welcome to maintain a
35 >>> version of `page.tmpl` containing only the features you personally
36 >>> need, but the `page.tmpl` in ikiwiki should be comprehensive. --[[smcv]]
38 >>>> I've tried to make the least changes possible in [this page.tmpl file](https://notabug.org/iikb/ikiwiki-theme-bootstrap/raw/master/templates/page.tmpl), but I couldn't overcome the suckness of bootstrap itself.
39 >>>> I am aware of alternatives to bootstrap, but it seems that every one of them would require some changes in the `page.tmpl` to work as expected.
40 >>>> I think it is realistic to have a bootstrap (or other superb, fantastic css frame*lazy*work) without a `page.tmpl`,
41 >>>> but I also think there should be other way around the chaos of each and every [[available theme|theme_market]] having it's own installing proccess.
42 >>>> Other argument I have is: could we have a theme-contrib, like the [[plugins]] have? This would require the mantainer to implement the new features in their themes.
44 ---
46 I have a question.
48 Where should I put a custom theme other than `/usr/share/ikiwiki/themes/`?
50 I put `.pm` plugins on `~/.ikiwiki/Ikiwiki/Plugin` and it works well.
52 How would I go about not tampering with the root filesystem to install a theme?
54 Also, I have another question:
56 I have a complex theme I'm working on, and it doesn't even have a `style.css`, because it is about editing `.tmpl` files and relying on the bootstrap files, so I want to know if the theme plugin will understand this structure:
58 ```
59 /usr/share/ikiwiki/themes/
60 └── my-theme/
61     ├── basewiki/
62     │   ├── bootstrap/
63     │   │   ├── css/
64     │   │   │   └── bootstrap.min.css
65     │   │   ├── js/
66     │   │   │   ├── bootstrap.js
67     │   │   │   └── bootstrap.min.js
68     │   │   └── fonts/
69     │   │       ├── glyphicons-halflings-regular.eot
70     │   │       ├── glyphicons-halflings-regular.svg
71     │   │       ├── glyphicons-halflings-regular.ttf
72     │   │       ├── glyphicons-halflings-regular.woff
73     │   │       └── glyphicons-halflings-regular.woff2
74     │   └── index.mdwn
75     └── templates/
76         ├── page.tmpl
77         └── whatever.tmpl
78 ```
80 **Edit:** no, it doesn't. When i change theme in the config to `my-theme`, the engine only uses the `templates` subfolder under `theme/my-theme`, and not `basewiki`. So the workaround is doing like [IkiStrap](https://github.com/gsliepen/ikistrap) proposed, suggesting the user to alter the `underlaydir` and `templatedir` configs instead of choosing a theme via the old fashioned `theme` config.
82 This feels more like an overhaul than a theme for me, could we clarify what is a theme, a template, an overhaul, a change to the look and feel, a change to the frontend, a change to the design, etc.?
84 -- [[desci]]