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 @@
*/
@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.
*/
......
......@@ -113,11 +113,6 @@
}
}
@mixin dark-diff-match-line {
color: $dark-diff-match-bg;
background: $dark-diff-match-color;
}
@mixin webkit-prefix($property, $value) {
#{'-webkit-' + $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 */
@import "./common";
/*
* Dark syntax colors
*/
......
/* https://github.com/richleland/pygments-css/blob/master/monokai.css */
@import "./common";
/*
* Monokai Colors
*/
......
......@@ -2,7 +2,7 @@
* None Syntax Colors
*/
@import "./common";
@mixin match-line {
color: $black-transparent;
......
/* https://gist.github.com/qguv/7936275 */
@import "./common";
/*
* Solarized dark colors
*/
......
/* https://gist.github.com/qguv/7936275 */
@import "./common";
/*
* Solarized light syntax colors
*/
......
/* https://github.com/aahan/pygments-github-style */
@import "./common";
/*
* White Syntax Colors
*/
......
......@@ -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 {
.diff-file:last-child {
margin-bottom: 0;
......
......@@ -38,6 +38,8 @@
= stylesheet_link_tag 'performance_bar' if performance_bar_enabled?
= stylesheet_link_tag 'csslab' if Feature.enabled?(:csslab)
= stylesheet_link_tag "highlight/#{user_color_scheme}", media: "all"
= Gon::Base.render_data
- 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
config.assets.precompile << "errors.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
config.assets.paths << "#{config.root}/node_modules/@gitlab/svgs/dist"
config.assets.precompile << "icons.svg"
......
......@@ -62,6 +62,14 @@ describe 'layouts/_head' do
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)
allow_any_instance_of(PageLayoutHelper).to receive(method)
.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