Poll

Should Wedge remove theme support, if it provides an equivalent feature set through skins?

Yes! Focus on what you know best, and let us break it or make it.
17 (73.9%)
No! I'm too familiar with the theme system, I don't want to re-learn it all.
0 (0%)
I don't really care. I never played with themes, or skins for that matter.
1 (4.3%)
I don't know enough about it all to have anything interesting to say.
5 (21.7%)
Total Members Voted: 22

Pandos

  • Living on the edge of Wedge
  • Posts: 635
# dpkg-reconfigure brain
error: brain is not installed or configured

Nao

  • Dadman with a boy
  • Posts: 16,082
Re: One theme to rule them all?
« Reply #61, on January 9th, 2014, 08:25 PM »
A problem I met while doing this... The plugins folder was put in the root for at least one good reason: plugins can access images directly from within their folders, so if you show an icon, it'll use <img src="mysite/Plugins/myplugin/myimage.png">, so moving plugins to core/plugins will make the URL longer. Ouch... I'd like to avoid these links in HTML as much as possible. Opinions..?
Re: One theme to rule them all?
« Reply #62, on January 9th, 2014, 11:08 PM »
Well, I guess the 'way to do it' would be to use CSS anyway.
background: url($here/myimage.png), or sum'ing like that. I don't do plugins (which is a bit of a problem since I'm the only Wedge developer by now), and Dragooon and live are MIA these days (especially Dragooon), so it's gonna take someone else to spot usability issues for plugin authors, and fix them, or point them out to me.

In the meantime, it's probably meaningless to bother about that.

I'm more annoyed with the fact that, on my local install, I'm having trouble finding my marks with the new folder structure -- not really the fact that they're all in a subfolder now, but more the fact that Sources is now lowercased, and it makes it harder for me to find it immediately. I didn't expect that I was relying SO MUCH on ucfirst'ed names to find folders quickly.
Ah, well... I guess it'll just take some time to get used to, or something.

Also, the fact that templates are currently in the root of /core/ is a bit strange, but I don't know what I can put into that folder anyway. I'm really, really bothered by the idea of having sources in the core folder, because I don't want any clutter as subfolders, I only want the 'solid' ones like javascript, languages, etc.

Finally, I'm also bothered that my skins folder is located before my sources folder. Plus, they look similar in name, so I tend to click on sources to get CSS files, or skins to get PHP files. Renaming skins to something else..? I figured 'themes' would make sense, but... That means it gets awfully similar to the 'templates' folder (which doesn't exist for now, cf. the fact that templates are in the root for now.)

It's interesting, how hard it is to find a new folder structure that 'works'... :^^;:

:edit: Aaaaaand, 14.000 posts! That deserves a few elaborate answers from a few of you, I'm sure... Hopefully I'll have some feedback when I wake up tomorrow! As Koreans would say: Fightin'!! (I don't know why they say that, really... But it's in every single modern K-drama.)

Farjo

  • "a valuable asset to the community"
  • Posts: 492
Re: One theme to rule them all?
« Reply #63, on January 10th, 2014, 02:13 AM »
Well given I'm not particularly techie, and I do not understand some of what you say, please go easy on me.

In your current structure (reply 57), where do the media and attachment folders go? Could attachments be a subfolder of media?

Why is there a template folder if templates are no more?

When you talk about a 'core' folder, do you mean the public_html folder or will there be a folder named 'core' with all the other folders off of it? And if so will a site's address be "mysite.tld/core/" ?

It looks mush better to have the languages folder straight off the root, however I don't quite understand the folder's structure. In the ./languages/ folder there'll be admin.english.php admin.french.php and all the other english and french files, but the other languages' files will be put where? And then moved somewhere? Will they come with the original product download or will each language pack be on wedge.org as an optional extra?

Scripts: is there any danger of a different scripting language becoming popular? If not jscript then perhaps something that's not widely heard of - yet. If so should the js folder be named 'scripts' in case someone wants to script in this other as yet unnamed and unknown scripting language and there isn't a natural home for it. As for confusion of putting php files into it, surely people will see what's what when they look and see that the folder only contains js files and php files are elsewhere.

Out of interest will there no longer be a cache folder? Or plugins? And what is the 'assets' folder?

Sorry to go on; overall the newer structures are much neater and logical than the old one.

Nao

  • Dadman with a boy
  • Posts: 16,082
Re: One theme to rule them all?
« Reply #64, on January 10th, 2014, 04:56 PM »
Quote from Farjo on January 10th, 2014, 02:13 AM
Well given I'm not particularly techie, and I do not understand some of what you say, please go easy on me.

In your current structure (reply 57), where do the media and attachment folders go? Could attachments be a subfolder of media?
/core/ is just another folder in the root, just like /media/, /attachments/, /cache/, etc.
Quote from Farjo on January 10th, 2014, 02:13 AM
Why is there a template folder if templates are no more?
I never removed templates. What I removed are themes, i.e. the ability to have multiple template folders, script folders, CSS folders, etc, all in one. All replaced with skins, which have 95% of what themes can do (and actually can do 100%, but I need to write some stuff to complete it.)
Quote from Farjo on January 10th, 2014, 02:13 AM
When you talk about a 'core' folder, do you mean the public_html folder or will there be a folder named 'core' with all the other folders off of it? And if so will a site's address be "mysite.tld/core/" ?
Nope.
Quote from Farjo on January 10th, 2014, 02:13 AM
It looks mush better to have the languages folder straight off the root, however I don't quite understand the folder's structure.
/languages is in core right now. I just wanted to gather in a single folder all files that can be updated by FTP, but aren't supposed to be updated through Wedge itself. (Most of the files in /core are actually re-cached in cache folders later on.)
Quote from Farjo on January 10th, 2014, 02:13 AM
In the ./languages/ folder there'll be admin.english.php admin.french.php and all the other english and french files, but the other languages' files will be put where?
See the new topic. English and French are root because of me, and my updating etc. Other files will be in their own folder, but you'll have to upload 'em to the languages root. Although I might add additional support for subfolders, but... No matter.
Quote from Farjo on January 10th, 2014, 02:13 AM
And then moved somewhere? Will they come with the original product download or will each language pack be on wedge.org as an optional extra?
English only. Languages is now a different repo, so I'll have to manually import English files from the languages repo. Other files will be repackaged as single file downloads, I suppose. These will probably need to be done manually, from time to time.
Quote from Farjo on January 10th, 2014, 02:13 AM
Scripts: is there any danger of a different scripting language becoming popular?
No. JS has been there since 1995... PHP + HTML + JS + CSS + MySQL is still the winning combination, by and large. Otherwise, I would have considered 'switching' one of these to something else, of course. But I don't see them becoming any less popular in the future. Save for MySQL, they're all in 'good hands'. As for MySQL, in case Oracle causes problems, we can always switch to MariaDB as the engine, of course.
Quote from Farjo on January 10th, 2014, 02:13 AM
If not jscript then perhaps something that's not widely heard of - yet. If so should the js folder be named 'scripts' in case someone wants to script in this other as yet unnamed and unknown scripting language and there isn't a natural home for it. As for confusion of putting php files into it, surely people will see what's what when they look and see that the folder only contains js files and php files are elsewhere.
My only confusion for now is with the sources folder.
I'm considering renaming it to 'code', so that Sources files show up first in my commit log (I'm absolutely used to that...!), and to avoid confusion with 'skins', but (1) will I get used to that name? (2) will people be confused with a folder called /core/code/..? Does that mean I should rename /core/ to something else? But I like that name...

Farjo

  • "a valuable asset to the community"
  • Posts: 492
Re: One theme to rule them all?
« Reply #65, on January 11th, 2014, 02:05 AM »
Ah! So the full folder structure is something like:
Code: [Select]
/wedge
/assets
/attachments
/cache
/media
/core
/javascript
/languages  <-- contains english only
/your-language-downloaded
/plugins
/skins
/sources
/templates

I guess I need to do some homework on skins / themes / templates (I thought they were just different names for the same thing).

You could rename core to weave, because you want to use the name and because it'll confuse people :)

Thanks for the replies.

Nao

  • Dadman with a boy
  • Posts: 16,082
Re: One theme to rule them all?
« Reply #66, on January 12th, 2014, 01:07 PM »
Quote from Farjo on January 11th, 2014, 02:05 AM
Ah! So the full folder structure is something like:
Yes. Except for the languages folder, which is still flat, like in SMF, but it's worth considering whether Wedge supports both systems (flat or with subfolders for each language), which, come to think of it, thanks to caching, won't even add extra processing time. Hmm, so that's good... I could do that, yeah.
Quote from Farjo on January 11th, 2014, 02:05 AM
I guess I need to do some homework on skins / themes / templates (I thought they were just different names for the same thing).
Templates = PHP files containing blocks (functions) that output the HTML.
Themes = a set of Templates, and their associated CSS and JavaScript files (SMF-only)
Variants = a set of CSS files that can replace the default CSS files in a particular theme. Consider them as CSS-only sub-themes. (SMF-only)
Skins = these are Wedge-specific, and started as a supercharged version of variants (replacing them immediately), and then gradually getting upgraded to finally get the power of themes, so they now also replace themes altogether. There's still 'one' theme, as the topic's name suggests, but since it's unique, I removed all code pertaining to supporting multiple themes. And that was a lot of code, really.

A theme's structure is:
Templates
    CSS files
    JS files
    image files

A skin's structure is:
Skin definition (optional) + CSS files (optional) + skeleton (optional)
    Replacement templates (optional)
    Replacement languages (optional, and not implemented yet.)

The skin definition allows you to specify more JS and CSS files to load, too. Even external stuff. It's an XML file with dozens of options, and they're all detailed in skins\Warm\skin.xml, if you want to study them. (Once the repo is out, although I think you have read access to the BitBucket repo, anyway..? If you don't, feel free to ask, but the repo will be moved to Github this week anyway, so...[1])
Quote from Farjo on January 11th, 2014, 02:05 AM
You could rename core to weave, because you want to use the name and because it'll confuse people :)
Weave would be confusing, because it's already the main skin's name... ;) (Well, it's Weaving, but whatever!)

Oh, while I'm at it -- I recently decided that I'll drop the 'idea' of starting all Wedge official skin names with a 'w'. It's not that I'm planning to release dozens of skins, or that I fear I won't find any more interesting names in 'w', it's just that I certainly don't like restraining myself to a very, very limited subset of the English language when it comes to naming things I've worked on very hard, eh.
 1. Possibly duplicated on BitBucket, too. I have yet to determine which will be the final resting place for the public repo; while Github is a much more popular website, I still like BitBucket's design more, and if the GH repo doesn't get any popular, then there's no reason to stick to Github.
Re: One theme to rule them all?
« Reply #67, on January 13th, 2014, 12:46 AM »
And this last one, I really need to get right... I need help for folder names!

I need to fine a folder name for what used to be the 'Sources' folder. It contains, of course, all the main PHP files that power Wedge.
The new name needs to:
- show up before 'languages' in the folder list, and even preferably before 'javascript'. So, it needs to start with a letter between 'A' and 'L' at best, or 'A' and 'I' at worst.
- Reflect the fact that it contains PHP files, or Source files, or things that power the software.

I consider 'code' but it's too close to 'core'.
I also considered 'engine', but maybe it's a bit over the top for that folder.

Anything else, guys..? Don't forget you'll be updating that folder quite often, so might as well help in finding its name... ;)



I'm also trying to determine if I can push 'skins' (the CSS folders) after 'templates' (the theme folder with *.template.php files) in the folder list. That means either renaming 'skins' to something that's after 'T' in the alphabet ('visuals'? Meh...), or pushing 'templates' to something that's before 'S' in the alphabet. Unfortunately, I don't even have a basic idea for that one.

As a reminder, I'm planning to release the first Wedge public alpha this week, and the source code could be online as early as January 15. As such, having the final names for these folders is important to me. The order in the folder list is also important to me, because I'm used to documenting my changelogs following the 'natural' SMF order: Source files are documented first, then templates, then languages, scripts and skins. Changing the folder structure unfortunately changed the current order to scripts, languages, skins, source files, and templates.

Pandos

  • Living on the edge of Wedge
  • Posts: 635
Re: One theme to rule them all?
« Reply #68, on January 13th, 2014, 09:36 AM »

You can kill me. ;) But why we should not change the folder structure as described below:
wedge-->
               core (Sources)
              Themes (templates)
                                              ---->Skins (vendor)
                                                                               --->css, etc.

Norodo

  • Oh you Baidu, so randumb. (60 sites being indexed at once? Jeez)
  • Posts: 469
Re: One theme to rule them all?
« Reply #69, on January 13th, 2014, 11:55 AM »
Quote from Nao on January 13th, 2014, 12:46 AM
And this last one, I really need to get right... I need help for folder names!

I need to fine a folder name for what used to be the 'Sources' folder. It contains, of course, all the main PHP files that power Wedge.
The new name needs to:
- show up before 'languages' in the folder list, and even preferably before 'javascript'. So, it needs to start with a letter between 'A' and 'L' at best, or 'A' and 'I' at worst.
- Reflect the fact that it contains PHP files, or Source files, or things that power the software.

I consider 'code' but it's too close to 'core'.
I also considered 'engine', but maybe it's a bit over the top for that folder.

Anything else, guys..? Don't forget you'll be updating that folder quite often, so might as well help in finding its name... ;)
You could call it app or cms. :P

Nao

  • Dadman with a boy
  • Posts: 16,082
Re: One theme to rule them all?
« Reply #70, on January 13th, 2014, 06:56 PM »
@Pandos, that's basically what's in the Wedge repo before my last couple of commits that modified everything...

@Norodo> I have many words to replace the Sources folder ('app' is a good suggestion though, I like that), but nothing much for the Themes (templates) folder...

Currently, I'm trying out this combination: sources becomes 'backend', and templates becomes 'frontend'. (I don't like these words, but they're easy to understand for native speakers, I suppose. It's all part of the MVC thingy.)
However, it suddenly makes more sense to have languages, skins and javascript inside the 'frontend' folder as well, in which case I'd suddenly have to move everything down one level.
/core
  /backend <-- *.php
  /frontend <-- *.template.php
    /javascript <-- *.js
    /languages <-- *.english.php
    /skins <-- *.css

Perhaps 'backend' and 'frontend' would work best as root folders, but then they'd have to share their space with 'assets' (fine by me), 'cache' (okay, becomes harder...), and 'css' and 'js', which starts getting messy. (Not even counting media and plugins...)

I like having two separate areas of the Wedge folder base: one area for files that shan't be modified by Wedge itself (with the exception of Aeva-Sites.php, and yes it does make sense to rewrite this one and store sites in the database to be cached later, but whatever...)

I like the word 'engine' more than 'backend', but if I'm going to use 'frontend', it makes more sense to use 'backend' for sources.
Also, apparently 'backend' and 'frontend' need a space before 'end', so, to English native speakers here -- does it bother you that I'm not putting a space or dash..? Or should I add a dash, at least?
Posted: January 13th, 2014, 01:19 PM

Bump... Still hoping to release ASAP ;)

wedge.helmer.co

  • Grumpy Old Man
  • Posts: 18
Re: One theme to rule them all?
« Reply #71, on January 13th, 2014, 07:00 PM »
I'm confused.. The word as a whole is fine. Why do you think there is a need for a space or dash?
Re: One theme to rule them all?
« Reply #73, on January 13th, 2014, 07:50 PM »
As for the new structure, you have to look at it one of two ways.

1. You follow what is loosely the standard used across other boards in the tree which is really already familiar to experienced users of other boards.

2. You strike out on your own and design the tree the way you think it should be. To new users the tree is what it is. To experienced users, they have to learn a new tree structure. No big deal, this is something you have to learn with any new software anyways.

I would not stress over it. Pick what makes sense to you as the author and go with it. There is however one thing I do agree with, consistency  of capitalization is important. I recommend you name each directory starting with upper case.

Example: Frontend, Backend, Packages and so on.

John


Farjo

  • "a valuable asset to the community"
  • Posts: 492
Re: One theme to rule them all?
« Reply #74, on January 13th, 2014, 08:41 PM »
frontend and backend seems fine to me, there are worse hacked words on the internet! I agree with John regarding just doing what you prefer given that you are the author and have spent all this time on it. Nobody is going to say "He hasn't used a dash - this software must be shit!" But I disagree regarding caps and - lower case is much easier.