Commit 5996fd14 authored by Simon Knox's avatar Simon Knox

Only load selected syntax highlight CSS

Compile highlight CSS separately
Move highlight-specific mixins out of mixins.scss
Rename solarized themes to match theme name as this was a smaller
change than changing all instances to snake_case
parent 0328d4fa
...@@ -39,16 +39,6 @@ ...@@ -39,16 +39,6 @@
*/ */
@import "components/**/*"; @import "components/**/*";
/*
* Code highlight
*/
@import "highlight/dark";
@import "highlight/monokai";
@import "highlight/solarized_dark";
@import "highlight/solarized_light";
@import "highlight/white";
@import "highlight/none";
/* /*
* Styles for JS behaviors. * Styles for JS behaviors.
*/ */
......
...@@ -113,11 +113,6 @@ ...@@ -113,11 +113,6 @@
} }
} }
@mixin dark-diff-match-line {
color: $dark-diff-match-bg;
background: $dark-diff-match-color;
}
@mixin webkit-prefix($property, $value) { @mixin webkit-prefix($property, $value) {
#{'-webkit-' + $property}: $value; #{'-webkit-' + $property}: $value;
#{$property}: $value; #{$property}: $value;
......
@import "../framework/variables";
@mixin diff-background($background, $idiff, $border) {
background: $background;
&.line_content span.idiff {
background: $idiff;
}
&.diff-line-num {
border-color: $border;
}
}
@mixin dark-diff-match-line {
color: $dark-diff-match-bg;
background: $dark-diff-match-color;
}
/* https://github.com/MozMorris/tomorrow-pygments */ /* https://github.com/MozMorris/tomorrow-pygments */
@import "./common";
/* /*
* Dark syntax colors * Dark syntax colors
*/ */
......
/* https://github.com/richleland/pygments-css/blob/master/monokai.css */ /* https://github.com/richleland/pygments-css/blob/master/monokai.css */
@import "./common";
/* /*
* Monokai Colors * Monokai Colors
*/ */
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* None Syntax Colors * None Syntax Colors
*/ */
@import "./common";
@mixin match-line { @mixin match-line {
color: $black-transparent; color: $black-transparent;
......
/* https://gist.github.com/qguv/7936275 */ /* https://gist.github.com/qguv/7936275 */
@import "./common";
/* /*
* Solarized dark colors * Solarized dark colors
*/ */
......
/* https://gist.github.com/qguv/7936275 */ /* https://gist.github.com/qguv/7936275 */
@import "./common";
/* /*
* Solarized light syntax colors * Solarized light syntax colors
*/ */
......
/* https://github.com/aahan/pygments-github-style */ /* https://github.com/aahan/pygments-github-style */
@import "./common";
/* /*
* White Syntax Colors * White Syntax Colors
*/ */
......
...@@ -602,18 +602,6 @@ ...@@ -602,18 +602,6 @@
} }
} }
@mixin diff-background($background, $idiff, $border) {
background: $background;
&.line_content span.idiff {
background: $idiff;
}
&.diff-line-num {
border-color: $border;
}
}
.files { .files {
.diff-file:last-child { .diff-file:last-child {
margin-bottom: 0; margin-bottom: 0;
......
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
= stylesheet_link_tag 'performance_bar' if performance_bar_enabled? = stylesheet_link_tag 'performance_bar' if performance_bar_enabled?
= stylesheet_link_tag 'csslab' if Feature.enabled?(:csslab) = stylesheet_link_tag 'csslab' if Feature.enabled?(:csslab)
= stylesheet_link_tag "highlight/#{user_color_scheme}", media: "all"
= Gon::Base.render_data = Gon::Base.render_data
- if content_for?(:library_javascripts) - if content_for?(:library_javascripts)
......
---
title: Only load syntax highlight CSS of selected theme
merge_request: 25232
author:
type: performance
...@@ -147,6 +147,13 @@ module Gitlab ...@@ -147,6 +147,13 @@ module Gitlab
config.assets.precompile << "errors.css" config.assets.precompile << "errors.css"
config.assets.precompile << "csslab.css" config.assets.precompile << "csslab.css"
config.assets.precompile << "highlight/dark.css"
config.assets.precompile << "highlight/monokai.css"
config.assets.precompile << "highlight/solarized-dark.css"
config.assets.precompile << "highlight/solarized-light.css"
config.assets.precompile << "highlight/white.css"
config.assets.precompile << "highlight/none.css"
# Import gitlab-svgs directly from vendored directory # Import gitlab-svgs directly from vendored directory
config.assets.paths << "#{config.root}/node_modules/@gitlab/svgs/dist" config.assets.paths << "#{config.root}/node_modules/@gitlab/svgs/dist"
config.assets.precompile << "icons.svg" config.assets.precompile << "icons.svg"
......
...@@ -62,6 +62,14 @@ describe 'layouts/_head' do ...@@ -62,6 +62,14 @@ describe 'layouts/_head' do
end end
end end
it 'adds selected syntax highlight stylesheet' do
allow_any_instance_of(PreferencesHelper).to receive(:user_color_scheme).and_return("solarised-light")
render
expect(rendered).to match('<link rel="stylesheet" media="all" href="/stylesheets/highlight/solarised-light.css" />')
end
def stub_helper_with_safe_string(method) def stub_helper_with_safe_string(method)
allow_any_instance_of(PageLayoutHelper).to receive(method) allow_any_instance_of(PageLayoutHelper).to receive(method)
.and_return(%q{foo" http-equiv="refresh}.html_safe) .and_return(%q{foo" http-equiv="refresh}.html_safe)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment