Update of skin and style description#10954
Update of skin and style description#10954BettyFromHH wants to merge 2 commits intoILIAS-eLearning:release_11from
Conversation
There was a problem hiding this comment.
Hi @BettyFromHH ,
I like this a lot since it improves my understanding of the skin/style processes in ILIAS. I added some small remarks.
The next step then might be to adapt the github workflow in ".github/workflows/style-to-repo_trunk.yml" in order to automatically push the delos style for release_11 to its corresponding repo.
Thank you very much!
Best regards,
@rfalkenstein
| necessary to build the default System Style of ILIAS called Delos. Due to the | ||
| new build process of ILIAS, the fonts, images and icons are no longer part of | ||
| this folder. They are now initially located in the components/ILIAS/UI/resources | ||
| folder and copied to the public/assets folder during the build process. |
There was a problem hiding this comment.
Do you have any hint on when/how this "build process" takes place?
There was a problem hiding this comment.
In order to inform uses we create a wiki about skins & styles right now.
After this, we update this readme.md and complete all information about the build process.
templates/Readme.md
Outdated
| new build process of ILIAS, the fonts, images and icons are no longer part of | ||
| this folder. They are now initially located in the components/ILIAS/UI/resources | ||
| folder and copied to the public/assets folder during the build process. | ||
| Even so all template files are still located in the templates folder of each |
There was a problem hiding this comment.
What do you mean by "even so"?
There was a problem hiding this comment.
That's wrong, I fixed it.
templates/Readme.md
Outdated
| ## Custom Skins and Styles | ||
|
|
||
| System Styles may be customized by creating custom skin and style. Custom skins | ||
| must be placed in the directory `./public/Customizing/skin`. A custom skin have |
templates/Readme.md
Outdated
|
|
||
| ### Step 1: Create skin directory | ||
|
|
||
| If you want to create a new skin on the scratch, you have to go to the skin directory |
| <template xmlns = "http://www.w3.org" version = "1" name = "MySkin"> | ||
| <style name = "MyStyle" id = "mystyle" image_directory = "images"/> | ||
| <template xmlns = "http://www.w3.org" version = "1.0" name = "MySkin"> | ||
| <style name="MyStyle" id="mystyle" image_directory="images"/> |
There was a problem hiding this comment.
Do we have to be aware of case-sensitivity? Please compare with: https://github.com/BettyFromHH/ILIAS/blob/f3f3560d2aae8b6b86a0b501971ccf0be7014597/templates/Readme.md?plain=1#L145
There was a problem hiding this comment.
Yes, folders are always case sensitive.
There was a problem hiding this comment.
Should we not change the template.xml example then? Or the path in the directory example? -> https://github.com/BettyFromHH/ILIAS/blob/f3f3560d2aae8b6b86a0b501971ccf0be7014597/templates/Readme.md?plain=1#L145
| and execute: | ||
|
|
||
| ``` | ||
| ./node_modules/.bin/sass delos.scss mystyle.css |
There was a problem hiding this comment.
I think a hint would be nice that ./node_modules/.bin/sass only comes with the dev packages from package.json
There was a problem hiding this comment.
A note can be found under "History > ILIAS 10".
templates/Readme.md
Outdated
| > The directory can also include the '../' designation and is always used relative | ||
| > to the directory specified with the id. | ||
|
|
||
| ## Usefull hints |
templates/Readme.md
Outdated
| - **Important**: | ||
| > The location of the skin was moved to `./public/Customizing/skin` | ||
| - System style Management through GUI has been abandoned, see: https://docu.ilias.de/go/wiki/wpage_1_1357 | ||
| - Sass is no shipped with NPM, see: https://github.com/ILIAS-eLearning/ILIAS/pull/8115 |
There was a problem hiding this comment.
To be clearer and fix the typo:
Sass is now shipped with NPM in the ILIAS dev-dependencies.
|
Hi @Chris-Squirrel, please have a look at the readme file. Thanks! |
|
Hey @rfalkenstein, thanks for your review. I will place the hints and correct the typos. |
templates/Readme.md
Outdated
| enable to manipulate the classes defining the appearance of user generated | ||
| content. | ||
| The total representation of ILIAS' graphical user interface is defined by | ||
| its Skin and Style. The Skin contains all the necessary files (CSS/SCSS, images, |
There was a problem hiding this comment.
ILIAS's graphical user interface is determined by its skin and style (?)
Notes: ILIAS's - apostrophe without an 's' is only for plurals. 'skin' and 'style' don't need to be written with a capital letter do they?
templates/Readme.md
Outdated
| content. | ||
| The total representation of ILIAS' graphical user interface is defined by | ||
| its Skin and Style. The Skin contains all the necessary files (CSS/SCSS, images, | ||
| icons, fonts, templates) to define the visual appearance of ILIAS. A Skin contains |
There was a problem hiding this comment.
I prefer 'determine' to 'define'. This is used multiple times in this text - I appreciate that this might be 'developer' speak - but I feel feel I have to flag it nevertheless.
templates/Readme.md
Outdated
| ## ILIAS System Style DELOS | ||
|
|
||
| The template folder of ILIAS contains the CSS/SCSS files and templates, which are | ||
| necessary to build the default System Style of ILIAS called Delos. Due to the |
There was a problem hiding this comment.
'system style' (?) Does this need to be written with capital starting letters?
templates/Readme.md
Outdated
| new build process of ILIAS, the fonts, images and icons are no longer part of | ||
| this folder. They are now initially located in the components/ILIAS/UI/resources | ||
| folder and copied to the public/assets folder during the build process. | ||
| Even so all template files are still located in the templates folder of each |
There was a problem hiding this comment.
Even so, all templates.... - if you want to keep 'even so', it requires a comma.
templates/Readme.md
Outdated
| folder and copied to the public/assets folder during the build process. | ||
| Even so all template files are still located in the templates folder of each | ||
| component. All files together define the visual appearance of ILIAS. | ||
| They differ from Content Styles, which enable to manipulate the classes defining |
There was a problem hiding this comment.
'content styles'? Does this have to be written with capital starting letters?
templates/Readme.md
Outdated
| Even so all template files are still located in the templates folder of each | ||
| component. All files together define the visual appearance of ILIAS. | ||
| They differ from Content Styles, which enable to manipulate the classes defining | ||
| the appearance of user generated content. |
There was a problem hiding this comment.
... which allow the classes determining the appearance of user-generated content to be manipulated (adjusted, modified, tweaked?)
Notes: 'which enable to be manipulated' is grammatically incorrect. 'user-generated' functions as a single adjective - requires the hyphen.
templates/Readme.md
Outdated
|
|
||
| System Styles may be customized by creating custom skin and style. Custom skins | ||
| must be placed in the directory `./public/Customizing/skin`. A custom skin have | ||
| to contain one style and may include further sub-styles. The sub-styles may be |
There was a problem hiding this comment.
- 'at least one style' - or 'may only contain a single style'?
templates/Readme.md
Outdated
|
|
||
| ### Step 3: Switch to correct branch | ||
|
|
||
| To Switch to the correct branch you have to change into the Skin-Directory and switch |
There was a problem hiding this comment.
Probably better without the capital 's' - i.e. 'switch'... unless Nintendo is sponsoring us :-D Same goes for 'skin directory'
templates/Readme.md
Outdated
|
|
||
| ### Step 4: Finish | ||
|
|
||
| Now the Skin is ready to be used and you can activate it in the ILIAS administration. |
There was a problem hiding this comment.
'skin' - in the title of step one it is written with a small 's'.
templates/Readme.md
Outdated
| Every skin can contain multiple styles. This example defines one style called | ||
| MyStyle. | ||
| In this example a custom skin called MySkin is defined, which contains one style | ||
| called MyStyle. The style has the ID mystyle and uses the subdirectory images to |
There was a problem hiding this comment.
...and uses the subdirectory 'images' - or "images" - something need to be added to make it clear that 'images' is the title of the folder
templates/Readme.md
Outdated
| Every skin can contain multiple styles. This example defines one style called | ||
| MyStyle. | ||
| In this example a custom skin called MySkin is defined, which contains one style | ||
| called MyStyle. The style has the ID mystyle and uses the subdirectory images to |
There was a problem hiding this comment.
...and uses the subdirectory 'images' - or "images" - something needs to be added to make it clear that 'images' is the title of the folder
templates/Readme.md
Outdated
| new skin. | ||
| new skin. | ||
|
|
||
| Since ILIAS 5.3 we move aim to move most of the UI towards the UI Components. They |
There was a problem hiding this comment.
...we move aim to move....?
"Since ILIAS 5.3 we have been aiming to move..."?
templates/Readme.md
Outdated
| Since ILIAS 5.3 we move aim to move most of the UI towards the UI Components. They | ||
| are located in src/UI. To overwrite those you need to add the respective tpl files | ||
| in your skins folder. | ||
| are located in src/UI. To overwrite those you need to add the respective tpl files |
There was a problem hiding this comment.
- How about 'which are located in' instead of 'They are located in'?
- To overwrite 'these'
templates/Readme.md
Outdated
| are located in src/UI. To overwrite those you need to add the respective tpl files | ||
| in your skins folder. | ||
| are located in src/UI. To overwrite those you need to add the respective tpl files | ||
| in your skins folder. |
There was a problem hiding this comment.
'to' your skins folder. (?)
templates/Readme.md
Outdated
| subdirectory structure (omit the `templates` subdirectory). E.g. to replace the | ||
| template file `components/ILIAS/XYZ/templates/tpl.xyz.html` create a new | ||
| version at `./public/Customizing/skin/myskin/components/ILIAS/XYZ/tpl.xyz.html`. A template of a UI Component located in | ||
| `src/UI/templates/default/XYZ/tpl.xyz.html` can be customized by creating a |
templates/Readme.md
Outdated
| - Standard Layout: components/ILIAS/UI/templates/default/Layout/tpl.standardpage.html, the frame of the DOM for the complete ILIAS page. | ||
| Also checkout the according scss variable under section Layout (UI Layout Page). | ||
| - Standard Layout: components/ILIAS/UI/templates/default/Layout/tpl.standardpage.html, the frame of the DOM for the complete ILIAS page. | ||
| Also checkout the according scss variable under section Layout (UI Layout Page). |
There was a problem hiding this comment.
- 'check out'
- I have no idea how to read the rest of this. I feel that something needs to be clarified. Is it the 'according' scss variable, or the 'according scss' variable?
- under section Layout? This could also be clearer - 'in the section "Layout"'?
templates/Readme.md
Outdated
| Also checkout the according scss variable under section Layout (UI Layout Page). | ||
| - Standard Layout: components/ILIAS/UI/templates/default/Layout/tpl.standardpage.html, the frame of the DOM for the complete ILIAS page. | ||
| Also checkout the according scss variable under section Layout (UI Layout Page). | ||
| - Meta Bar: components/ILIAS/UI/templates/default/MainControls/tpl.metabar.html, the Bar on the top holding Notification, Search User Avatar, etc. |
There was a problem hiding this comment.
- 'at the top'?
- holding? Might be better as 'containing'?
templates/Readme.md
Outdated
| Also checkout the according scss variable under section Layout (UI Layout Page). | ||
| - Meta Bar: components/ILIAS/UI/templates/default/MainControls/tpl.metabar.html, the Bar on the top holding Notification, Search User Avatar, etc. | ||
| Also checkout the according metabar scss variables. | ||
| Also checkout the according metabar scss variables. |
There was a problem hiding this comment.
- 'check out'. Explanation. 'checkout' is a noun. 'check out' is the verb.
- What does 'according' mean? 'corresponding'? 'respective'? 'appropriate'? Or is it the name of something? In which case some apostrophes around the names might help in all of these similar sentences.
templates/Readme.md
Outdated
| - Meta Bar: components/ILIAS/UI/templates/default/MainControls/tpl.metabar.html, the Bar on the top holding Notification, Search User Avatar, etc. | ||
| Also checkout the according metabar scss variables. | ||
| Also checkout the according metabar scss variables. | ||
| - Main Bar: components/ILIAS/UI/templates/default/MainControls/tpl.mainbar.html, the Bar on the left holding triggers for opening the slates for |
There was a problem hiding this comment.
- 'bar' - doesn't need to be written with a capital 'b'.
- holding? - maybe 'containing' would be better?
- for opening - I think 'to open' sounds better?
templates/Readme.md
Outdated
| - Main Bar: components/ILIAS/UI/templates/default/MainControls/tpl.mainbar.html, the Bar on the left holding triggers for opening the slates for | ||
| accessing Repository, Dasbhoard etc. Content. | ||
| Also checkout the according mainbar scss variables. | ||
| accessing Repository, Dasbhoard etc. Content. |
There was a problem hiding this comment.
- 'Dashboard' - not dasbhoard!
- a comma is required before 'etc' - i.e. ... 'Repository, Dashboard, etc.'
- 'content'.
templates/Readme.md
Outdated
| accessing Repository, Dasbhoard etc. Content. | ||
| Also checkout the according mainbar scss variables. | ||
| accessing Repository, Dasbhoard etc. Content. | ||
| Also checkout the according mainbar scss variables. |
There was a problem hiding this comment.
'check out' (please forgive me if checkout is 'developerish' and is widely used in coding. In normal English, it is a noun when written together).
templates/Readme.md
Outdated
| Also checkout the according mainbar scss variables. | ||
| accessing Repository, Dasbhoard etc. Content. | ||
| Also checkout the according mainbar scss variables. | ||
| - Slate: components/ILIAS/UI/templates/default/MainControls/Slate/tpl.slate.html, the Slates triggered by opening items of the Main Bar. |
templates/Readme.md
Outdated
| Also checkout the according mainbar scss variables. | ||
| - Slate: components/ILIAS/UI/templates/default/MainControls/Slate/tpl.slate.html, the Slates triggered by opening items of the Main Bar. | ||
| Also checkout the according slate scss variables. | ||
| Also checkout the according slate scss variables. |
There was a problem hiding this comment.
-'check out'-
- Again - no idea what is meant by according. Is it maybe a noun? In which case, check out the 'according slate' (?) scss variables.
templates/Readme.md
Outdated
| - Slate: components/ILIAS/UI/templates/default/MainControls/Slate/tpl.slate.html, the Slates triggered by opening items of the Main Bar. | ||
| Also checkout the according slate scss variables. | ||
| Also checkout the according slate scss variables. | ||
| - Breadcrumbs: components/ILIAS/UI/templates/default/Breadcrumbs/tpl.breadcrumbs.html, Breadcrumbs working as locator on the top of the page. |
There was a problem hiding this comment.
- Breadcrumbs working as locator on the top of the page. - I don't get this. How about 'Breadcrumbs work as locators at the top of pages'?
templates/Readme.md
Outdated
| Also checkout the according slate scss variables. | ||
| - Breadcrumbs: components/ILIAS/UI/templates/default/Breadcrumbs/tpl.breadcrumbs.html, Breadcrumbs working as locator on the top of the page. | ||
| Also checkout the breadcrumb scss variables. | ||
| Also checkout the breadcrumb scss variables. |
templates/Readme.md
Outdated
|
|
||
| ### <style>-Tag | ||
|
|
||
| The style tag defines the main style. This must include at least the parameters name, id, and |
There was a problem hiding this comment.
- The id is one of the three divisions of the psyche in psychoanalytic theory - unless there is a clear programming reason, we should use 'ID' (i.e. identification).
-This might be nicer as ...the parameters 'name', 'ID' and 'image directory'. ? Generally speaking, if you agree, all referenced names in this text should be treated this way.
There was a problem hiding this comment.
In this case 'id' is a tag parameter and must be written in lowercase.
templates/Readme.md
Outdated
|
|
||
| ### ILIAS 10 | ||
| - **Important**: | ||
| > The location of the skin was moved to `./public/Customizing/skin` |
There was a problem hiding this comment.
- 'has been moved to'? ILIAS 10 is still the current version!
templates/Readme.md
Outdated
| ### ILIAS 10 | ||
| - **Important**: | ||
| > The location of the skin was moved to `./public/Customizing/skin` | ||
| - System style Management through GUI has been abandoned, see: https://docu.ilias.de/go/wiki/wpage_1_1357 |
templates/Readme.md
Outdated
| #### ILIAS 9 | ||
| A proposal for better structuring the System Styles has been provided and accepted by the JF in 2021, | ||
| ### ILIAS 9 | ||
| A proposal for better structuring the System Styles has been provided and accepted by the JF in 2021, |
There was a problem hiding this comment.
'A proposal on how to better structure the system styles was made and accepted by the JF in 2021'
templates/Readme.md
Outdated
| see: https://github.com/ILIAS-eLearning/ILIAS/blob/trunk/src/UI/docu/sass-guidelines.md | ||
|
|
||
| With ILIAS 9 the SCSS as been restructered according to the ITCSS structure suggested by this proposal, | ||
| With ILIAS 9 the SCSS as been restructered according to the ITCSS structure suggested by this proposal, |
There was a problem hiding this comment.
'In ILIAS 9 the SCSS was restructured according to....' ??
| and the depencency to less from Bootstrap has mostly been removed. However, the change from less to SCSS | ||
| and the abandonment from Bootstrap means, that System Styles from 8 and lower are NOT compatible with ILIAS 9. | ||
| They can not be imported, be used, or compiled. | ||
| They can not be imported, be used, or compiled. |
There was a problem hiding this comment.
'They cannot be imported, used or compiled'
Cannot = not possible
Can not = it is possible to not do something
|
|
||
| With ILIAS 9 the SCSS as been restructered according to the ITCSS structure suggested by this proposal, | ||
| With ILIAS 9 the SCSS as been restructered according to the ITCSS structure suggested by this proposal, | ||
| and the depencency to less from Bootstrap has mostly been removed. However, the change from less to SCSS |
There was a problem hiding this comment.
Is 'less' a thing? I really don't get this sentence...
There was a problem hiding this comment.
LESS = Leaner Style Sheets
Now we use SASS (Syntactically Awesome StyleSheets)
templates/Readme.md
Outdated
| With ILIAS 9 the SCSS as been restructered according to the ITCSS structure suggested by this proposal, | ||
| With ILIAS 9 the SCSS as been restructered according to the ITCSS structure suggested by this proposal, | ||
| and the depencency to less from Bootstrap has mostly been removed. However, the change from less to SCSS | ||
| and the abandonment from Bootstrap means, that System Styles from 8 and lower are NOT compatible with ILIAS 9. |
There was a problem hiding this comment.
- 'to abandon from' is not a verb... What is meant here?
- '..... means that' - comma not needed in English.
| They can not be imported, be used, or compiled. | ||
| They can not be imported, be used, or compiled. | ||
|
|
||
| However, note, that most of the css should still work. Also less and scss are not that far appart. Best read |
There was a problem hiding this comment.
'However, note that most of...' - second comma not needed.
|
Thanks a lot for your hints and advice. @matthiaskunkel |
This pull request includes updating the readme.md file from the ./templates directory.
At the same time, we've decided to include the information on creating and editing custom skins and styles in the delos repository. This update now provides more comprehensive information on creating and editing skins and styles, as well as examples. To make it easier for new users to find the documentation for custom skins and styles, the readme.md file and the coding style guides are copied to the delos repository, serving as a central entry point for this topic.
For this reason, the build script had to be adjusted to also copy the necessary .md files.