Commit Graph

101 Commits

Author SHA1 Message Date
Kris f7deb52c90 FIX: Class name for external-link on customize page 2019-01-28 17:15:36 -05:00
Kris 94e2b77c5f Fix theme component name's color when theme is selected 2019-01-25 17:25:12 -05:00
David Taylor a48731e359
FEATURE: Support additional metadata in theme about.json (#6944)
New `about.json` fields (all optional):
 - `authors`: An arbitrary string describing the theme authors
 - `theme_version`: An arbitrary string describing the theme version
 - `minimum_discourse_version`: Theme will be auto-disabled for lower versions. Must be a valid version descriptor.
 - `maximum_discourse_version`: Theme will be auto-disabled for lower versions. Must be a valid version descriptor.

A localized description for a theme can be provided in the language files under the `theme_metadata.description` key

The admin UI has been re-arranged to display this new information, and give more prominence to the remote theme options.
2019-01-25 14:19:01 +00:00
David Taylor 880311dd4d
FEATURE: Support for localized themes (#6848)
- Themes can supply translation files in a format like `/locales/{locale}.yml`. These files should be valid YAML, with a single top level key equal to the locale being defined. For now these can only be defined using the `discourse_theme` CLI, importing a `.tar.gz`, or from a GIT repository.

- Fallback is handled on a global level (if the locale is not defined in the theme), as well as on individual keys (if some keys are missing from the selected interface language).

- Administrators can override individual keys on a per-theme basis in the /admin/customize/themes user interface.

- Theme developers should access defined translations using the new theme prefix variables:
  JavaScript: `I18n.t(themePrefix("my_translation_key"))`
  Handlebars: `{{theme-i18n "my_translation_key"}}` or `{{i18n (theme-prefix "my_translation_key")}}`

- To design for backwards compatibility, theme developers can check for the presence of the `themePrefix` variable in JavaScript

- As part of this, the old `{{themeSetting.setting_name}}` syntax is deprecated in favour of `{{theme-setting "setting_name"}}`
2019-01-17 11:46:11 +00:00
Penar Musaraj 18055f5e37 DEV: show remote theme repository URL 2019-01-16 11:09:16 -05:00
Kris 8176d26dbd UX: Reducing usage of btn-small, simplifying styles 2019-01-11 19:41:09 -05:00
Kris 0381e99b71 UX: improving theme upload modal alignment, markup 2018-11-21 16:50:49 -05:00
Joffrey JAFFEUX 7fa21ce199
UX: minor tweaks to theme components selection UI (#6596) 2018-11-13 14:57:50 +01:00
Guto Foletto 0abc932056 add styles so permalinks admin could fit mobile screen (#6496) 2018-10-17 17:37:14 +02:00
Erin Kosewic 51aba32651 FEATURE: add branch option to remote theme import
* FEATURE: add branch option to remote theme import

* FIX: Add missing variable in params

* FIX: Add missing param for import_theme method

* SPEC: Add test methods for branch support in git import

* FIX: Add missing space to scss style

* Do not assume default branch as master

* Change branch field placeholder

* FIX: add missing div start tag
2018-10-09 17:01:08 +11:00
Sam e622adfb89 correct warning 2018-09-21 12:05:08 +10:00
Joffrey JAFFEUX 87a97cbf4b
Merge branch 'master' into theme-select-mobile 2018-09-20 10:31:41 +02:00
Joe e844fa5370
UX: general cleanup of inputs, buttons and select elements - part 1 2018-09-19 20:37:04 +08:00
Kris 7f420b61cb Removing unneeded theme intro text 2018-09-17 12:00:20 -04:00
Joffrey JAFFEUX 01913b9dc0 FIX: improves themes/components UI on mobile 2018-09-17 10:05:18 +02:00
OsamaSayegh c9a5438a88 use `woman_artist` emoji 2018-09-17 09:49:53 +10:00
OsamaSayegh c7d81e2682 FIX/FEATURE: don't blow up when can't reach theme's repo, show problem themes on dashboard 2018-09-17 09:49:53 +10:00
OsamaSayegh ca28548762 feedback (see commit description for details)
* fill blank space when no theme is selected
* animate row's height in themes/components list when selecting, and hide children list
* show warning when you move to a different page and have unsaved changes
* refactor `adminCustomizeThemes.show` controller
* allow collapsing/expanding children lists
* fix a bug when adding components to a theme (changed the way it works slightly)
* a bunch of other minor things
2018-09-17 09:49:53 +10:00
OsamaSayegh a4f057a589 UX: improvements to admin theme UI 2018-09-17 09:49:53 +10:00
Osama Sayegh e0cc29d658 FEATURE: themes and components split
* FEATURE: themes and components split

* two seperate methods to switch theme type

* use strict equality operator
2018-08-24 11:30:00 +10:00
Neil Lalonde 701c5ae781 UX: admin permalink form can fit on one line 2018-08-09 11:05:27 -04:00
Kris 84d822959a Reducing some specificity, color fix 2018-08-03 17:44:22 -04:00
Joffrey JAFFEUX 066010db7d
FEATURE: introduces list/compact_list components 2018-08-03 16:41:37 -04:00
Joe 2bfe700bd6
FEATURE: responsive admin pages 2018-07-03 11:14:53 +08:00
Joffrey JAFFEUX 174d392e5a
DEV: adds prettier (#5956)
Run `prettier --write "app/assets/stylesheets/**/*.scss" "plugins/**/*.scss"` after making sure you installed it with `yarn`

It's recommended to configure your editor to run prettier on file save.
2018-06-08 11:49:31 +02:00
Sam 39e679d3cb FEATURE: allow themes to live in private git repos
This feature allows themes sourced from git to live on private
servers, it automatically generates key pairs.
2018-03-09 16:14:38 +11:00
OsamaSayegh 282f53f0cd FEATURE: Theme settings (2) (#5611)
Allows theme authors to specify custom theme settings for the theme. 

Centralizes the theme/site settings into a single construct
2018-03-04 19:04:23 -05:00
Joffrey JAFFEUX ac701696b3
FEATURE: replaces tag-chooser/tag-group-chooser with select-kit component
These component were also the last using select2. As a consequence select2 is removed from Discourse in this commit.
2018-02-26 11:42:57 +01:00
Kris 5de78a719b Fixing emoji admin page column 2018-02-15 15:07:26 -05:00
Kris e85458e1b9 Removing old bootstrap columns 2018-02-14 12:27:34 -05:00
Kris 0c01e0b2fe
UX: Implementing a z-index system (#5507) 2018-01-16 19:05:12 -05:00
Kris 674013129a
UX: Type system rebuild (#5492) 2018-01-12 17:27:38 -05:00
Kris e667434bb3 UX: Cleaning up a few admin styles 2017-12-21 17:13:06 -05:00
Kris bb2c8b605e UX: Reducing number of different fonts used in Admin 2017-12-19 13:10:38 -05:00
Joffrey JAFFEUX dd5562322b Revert "FIX: reflects discourse icons naming scheme s/d-icon-*/d-*"
This reverts commit b5ed980235.
2017-11-23 18:24:26 +01:00
Joffrey JAFFEUX b5ed980235
FIX: reflects discourse icons naming scheme s/d-icon-*/d-* 2017-11-21 16:01:15 +01:00
Joffrey JAFFEUX 9c5ad4648f
FIX: improves icon alignment
the mobile icon has a higher height than other icons, given we want a total 30px height and we apply a 5px top and bottom padding, the icon can be at most 20px height
2017-10-31 23:14:14 -07:00
Robin Ward 528eac5a07 UX: Various admin class and structure improvements for styling 2017-10-30 14:50:43 -04:00
Kris dc2d9f05dc removing scale-color, first pass 2017-10-13 11:57:10 -04:00
Robin Ward 6dfa3625df REFACTOR: Replace `fa-*` in SCSS with `d-icon-*` 2017-07-27 15:09:30 -04:00
awesomerobot c29b7aa65d initial pass at color simplification 2017-07-14 21:43:35 -04:00
Sam 2e13c2453b FIX: maximize css editor not working 2017-05-10 15:47:11 -04:00
Sam 04b5516bf2 improve upload functionality 2017-05-10 15:47:11 -04:00
Sam bc0b9af576 FEATURE: support uploads for themes
This allows themes to bundle various assets
2017-05-10 15:47:11 -04:00
Sam 7eabb90b71 FEATURE: added error messages for bad theme CSS / JS 2017-04-19 16:46:46 -04:00
Sam c5ee448713 FEATURE: Only show overridden option for theme css
also fixes bad styling of mobile glyph
2017-04-19 15:24:00 -04:00
Sam c76d780675 FEATURE: show a paintbrush for color schemes 2017-04-19 11:06:21 -04:00
Sam 0a67d859d5 correct watcher so it handles color scheme changes correctly 2017-04-18 16:48:15 -04:00
Sam 8ffb918824 FIX: add more consistent gutter to ace editor
old css hack had issues when line number was higher than 10
2017-04-18 15:43:22 -04:00
Sam 5e3a0846f7 FEATURE: allow themes to share color schemes 2017-04-17 15:56:24 -04:00
Sam a3e8c3cd7b FEATURE: Native theme support
This feature introduces the concept of themes. Themes are an evolution
of site customizations.

Themes introduce two very big conceptual changes:

- A theme may include other "child themes", children can include grand
children and so on.

- A theme may specify a color scheme

The change does away with the idea of "enabled" color schemes.

It also adds a bunch of big niceties like

- You can source a theme from a git repo

- History for themes is much improved

- You can only have a single enabled theme. Themes can be selected by
    users, if you opt for it.

On a technical level this change comes with a whole bunch of goodies

- All CSS is now compiled using a custom pipeline that uses libsass
    see /lib/stylesheet

- There is a single pipeline for css compilation (in the past we used
    one for customizations and another one for the rest of the app

- The stylesheet pipeline is now divorced of sprockets, there is no
   reliance on sprockets for CSS bundling

- CSS is generated with source maps everywhere (including themes) this
    makes debugging much easier

- Our "live reloader" is smarter and avoid a flash of unstyled content
   we run a file watcher in "puma" in dev so you no longer need to run
   rake autospec to watch for CSS changes
2017-04-12 10:53:49 -04:00