Skip to content

Commit 5d379c7

Browse files
authored
Merge pull request #2861 from SwiftPackageIndex/blog
Bring the blog into the main app
2 parents 7daf47b + 5c9852f commit 5d379c7

File tree

161 files changed

+2914
-315
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

161 files changed

+2914
-315
lines changed

FrontEnd/main.scss

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@
1313
// limitations under the License.
1414

1515
@use 'normalize.css/normalize.css';
16+
@use 'highlight.js/styles/atom-one-dark.css';
1617

1718
$mobile-breakpoint: 740px;
1819

1920
@import 'styles/base';
21+
@import 'styles/blog';
2022
@import 'styles/breadcrumbs';
2123
@import 'styles/build_logs';
2224
@import 'styles/build_monitor';
@@ -36,11 +38,11 @@ $mobile-breakpoint: 740px;
3638
@import 'styles/overflowing_list';
3739
@import 'styles/package_list';
3840
@import 'styles/package';
41+
@import 'styles/panel_button';
3942
@import 'styles/readme';
4043
@import 'styles/search_results';
4144
@import 'styles/search';
4245
@import 'styles/spinner';
43-
@import 'styles/tab_bar';
4446
@import 'styles/supporters';
45-
@import 'styles/panel_button';
47+
@import 'styles/tab_bar';
4648
@import 'styles/validate_manifest';
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Copyright Dave Verwer, Sven A. Schmidt, and other contributors.
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
import { Controller } from '@hotwired/stimulus'
16+
import hljs from 'highlight.js/lib/core'
17+
import swift from 'highlight.js/lib/languages/swift'
18+
import yaml from 'highlight.js/lib/languages/yaml'
19+
import shell from 'highlight.js/lib/languages/shell'
20+
21+
export class BlogController extends Controller {
22+
connect() {
23+
hljs.registerLanguage('swift', swift)
24+
hljs.registerLanguage('yaml', yaml)
25+
hljs.registerLanguage('shell', shell)
26+
hljs.highlightAll()
27+
}
28+
}

FrontEnd/scripts/controllers/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { ReadmeController } from './readme_controller.js'
1919
import { TabBarController } from './tab_bar_controller.js'
2020
import { PanelButtonController } from './panel_button_controller.js'
2121
import { UseThisPackagePanelController } from './use_this_package_panel_controller.js'
22+
import { BlogController } from './blog_controller.js'
2223

2324
const application = Application.start()
2425
application.register('overflowing-list', OverflowingListController)
@@ -27,3 +28,4 @@ application.register('readme', ReadmeController)
2728
application.register('tab-bar', TabBarController)
2829
application.register('panel-button', PanelButtonController)
2930
application.register('use-this-package-panel', UseThisPackagePanelController)
31+
application.register('blog', BlogController)

FrontEnd/styles/blog.scss

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
// Copyright Dave Verwer, Sven A. Schmidt, and other contributors.
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
// -------------------------------------------------------------------------
16+
// Blog styling.
17+
// -------------------------------------------------------------------------
18+
19+
body.blog {
20+
hr {
21+
&.post-title {
22+
width: 100%;
23+
height: 1px;
24+
margin: 5px 0 10px;
25+
background-color: var(--rule-thin-background);
26+
}
27+
}
28+
29+
h2.post-title {
30+
margin: 0;
31+
font-size: 30px;
32+
}
33+
34+
// We use a different style on the blog and import highlight.js directly, so
35+
// the background for a code snipplet here needs to match the background colour
36+
// of the theme specified in `FrontEnd/styles/main.css`.
37+
pre {
38+
background-color: #282c34;
39+
}
40+
41+
.subscribe {
42+
display: inline-flex;
43+
flex-direction: row;
44+
gap: 5px;
45+
align-items: center;
46+
padding: 2px 6px;
47+
font-size: 14px;
48+
color: white;
49+
background-color: var(--rss-subscribe-color);
50+
border-radius: 4px;
51+
transform: translateY(-25px);
52+
53+
&::before {
54+
content: '';
55+
display: block;
56+
width: 12px;
57+
height: 12px;
58+
background-repeat: no-repeat;
59+
background-size: contain;
60+
background-image: var(--image-rss);
61+
}
62+
}
63+
64+
.sidebar {
65+
float: right;
66+
display: flex;
67+
flex-direction: column;
68+
gap: 20px;
69+
width: 320px;
70+
padding: 0 0 10px 40px;
71+
background-color: var(--page-background);
72+
}
73+
74+
ul.blog-posts {
75+
padding: 0;
76+
list-style: none;
77+
78+
li {
79+
margin-bottom: 40px;
80+
81+
& > a {
82+
display: block;
83+
84+
h3 {
85+
margin: 0;
86+
}
87+
88+
p,
89+
small {
90+
color: var(--page-text);
91+
}
92+
93+
p {
94+
margin: 5px 0;
95+
}
96+
}
97+
}
98+
}
99+
100+
.blog-post {
101+
picture.shadow img {
102+
box-shadow: 0 3px 8px 2px rgba(100, 100, 100, 20%);
103+
}
104+
105+
img {
106+
display: block;
107+
max-width: 80%;
108+
margin: 40px auto;
109+
}
110+
}
111+
112+
.about-this-blog {
113+
margin-bottom: 30px;
114+
padding: 15px;
115+
background-color: var(--panel-background);
116+
border: 1px solid var(--panel-border);
117+
118+
h3 {
119+
margin: 0 0 10px;
120+
font-size: 20px;
121+
}
122+
}
123+
124+
@media screen and (max-width: $mobile-breakpoint) {
125+
.blog-container {
126+
display: flex;
127+
flex-direction: column-reverse;
128+
}
129+
}
130+
}

FrontEnd/styles/colors.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,8 @@
177177
--podcast-panel-background: var(--very-light-blue);
178178

179179
--avatar-shadow: 0 2px 2px 3px rgba(0, 0, 0, 5%);
180+
181+
--rss-subscribe-color: var(--orange);
180182
}
181183

182184
// Dark mode.

FrontEnd/styles/images.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
--image-plugins: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTM3LjkgNC43NmgtMjUuOGMtNi42NyA0LjI3LTExLjEgMTEuNzMtMTEuMSAyMC4yNHM0LjQzIDE1Ljk3IDExLjEgMjAuMjRoMjUuNzljNi42Ny00LjI2IDExLjEtMTEuNzMgMTEuMS0yMC4yNHMtNC40My0xNS45Ny0xMS4xLTIwLjI0em0tMjAuMTMgMjMuNTloLTQuODd2LTE1LjQ5aDQuODd6bTExLjQ2IDEwLjc4aC04LjQydi0yLjA1YzAtMi4zMSAxLjg5LTQuMjEgNC4yMS00LjIxczQuMjEgMS44OSA0LjIxIDQuMjF6bTcuODgtMTAuNzhoLTQuODd2LTE1LjQ5aDQuODd6IiBmaWxsPSIjMmYyZjJmIi8+PC9zdmc+');
4545
--image-podcast: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMjUiIGN5PSIyNSIgZmlsbD0iIzM1NmZjZSIgcj0iMjQuNSIvPjxnIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Im0yNSA4LjFjLTUuOTIgMC0xMC43NiA0Ljg0LTEwLjc2IDEwLjc2djYuNzFjMCA1LjkyIDQuODQgMTAuNzYgMTAuNzYgMTAuNzYgNS45MiAwIDEwLjc2LTQuODQgMTAuNzYtMTAuNzZ2LTYuNzFjMC01LjkyLTQuODQtMTAuNzYtMTAuNzYtMTAuNzZ6bS0zLjM1IDE2LjM3YzAgLjYyLS41IDEuMTItMS4xMiAxLjEycy0xLjEyLS41LTEuMTItMS4xMnYtNC41MWMwLS42Mi41LTEuMTIgMS4xMi0xLjEyczEuMTIuNSAxLjEyIDEuMTJ6bTQuNDcgMS40N2MwIC42Mi0uNSAxLjEyLTEuMTIgMS4xMnMtMS4xMi0uNS0xLjEyLTEuMTJ2LTcuNDZjMC0uNjIuNS0xLjEyIDEuMTItMS4xMnMxLjEyLjUgMS4xMiAxLjEyem00LjQ3LTEuNDdjMCAuNjItLjUgMS4xMi0xLjEyIDEuMTJzLTEuMTItLjUtMS4xMi0xLjEydi00LjUxYzAtLjYyLjUtMS4xMiAxLjEyLTEuMTJzMS4xMi41IDEuMTIgMS4xMnoiLz48cGF0aCBkPSJtMjUgNDEuOWMtNy40OCAwLTE0LjA5LTUuMTgtMTUuNzEtMTIuMzEtLjE5LS44Ni4zNC0xLjcxIDEuMi0xLjkxLjg2LS4xOSAxLjcxLjM0IDEuOTEgMS4yIDEuMjkgNS43IDYuNTkgOS44MyAxMi42IDkuODNzMTEuMzEtNC4xMyAxMi42LTkuODNjLjE5LS44NiAxLjA1LTEuMzkgMS45MS0xLjJzMS40IDEuMDUgMS4yIDEuOTFjLTEuNjIgNy4xMy04LjIzIDEyLjMxLTE1LjcxIDEyLjMxeiIvPjwvZz48L3N2Zz4=');
4646
--image-question: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTI1IDFjLTEzLjI1IDAtMjQgMTAuNzUtMjQgMjRzMTAuNzUgMjQgMjQgMjQgMjQtMTAuNzUgMjQtMjQtMTAuNzUtMjQtMjQtMjR6bTIuMzIgMzguMDZjLS44Ny41OS0xLjg5Ljg5LTMuMDcuODlzLTIuMjktLjMtMy4xNi0uODljLS44Ny0uNi0xLjMtMS41Ni0xLjMtMi45IDAtMS40LjQzLTIuMzkgMS4zLTIuOTZzMS45Mi0uODUgMy4xNi0uODUgMi4yMS4yOCAzLjA3Ljg1Yy44Ny41NyAxLjMgMS41NSAxLjMgMi45NnMtLjQzIDIuMy0xLjMgMi45em03LjctMTguOTVjLS4zNC44Ni0uODcgMS42Ny0xLjYxIDIuNDItLjczLjc1LTEuNyAxLjUtMi45IDIuMjItLjg1LjUtMS41MS45My0yIDEuMjlzLS44My43LTEuMDQgMS4wM2MtLjIuMzMtLjMxLjcxLS4zMSAxLjEzdjEuMDFoLTYuNDl2LTEuNzFjMC0uODIuMTEtMS41Ni4zMy0yLjIycy42MS0xLjI5IDEuMTctMS44OCAxLjM1LTEuMTkgMi4zNS0xLjc5Yy45Ni0uNTcgMS42Ni0xLjA2IDIuMTEtMS40OHMuNzUtLjguODktMS4xNS4yMS0uNy4yMS0xLjA2YzAtLjU2LS4yNy0xLS44LTEuMzItLjU0LS4zMi0xLjIzLS40OS0yLjA5LS40OS0xLjA3IDAtMi4yMy4xOC0zLjQ4LjU0cy0yLjU3Ljg5LTMuOTggMS41OWwtMi45NC01LjRjMS41OS0uODYgMy4yOS0xLjU0IDUuMDktMi4wNXMzLjc3LS43NiA1LjktLjc2YzMuMiAwIDUuNjguNjYgNy40NCAxLjk5czIuNjQgMy4wOCAyLjY0IDUuMjVjMCAxLjAzLS4xNyAxLjk4LS41MSAyLjg0eiIgZmlsbD0iIzJmMmYyZiIvPjwvc3ZnPg==');
47+
--image-rss: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiI+PHBhdGggZD0ibTQwLjI3IDQ5aDguNzNjMC0yNi40Ny0yMS41My00OC00OC00OHY4LjczYzIxLjY1IDAgMzkuMjcgMTcuNjIgMzkuMjcgMzkuMjd6Ii8+PHBhdGggZD0ibTI0LjY5IDQ5aDguNzNjMC0xNy44Ny0xNC41NC0zMi40Mi0zMi40Mi0zMi40MnY4LjczYzEzLjA2IDAgMjMuNjkgMTAuNjMgMjMuNjkgMjMuNjl6Ii8+PHBhdGggZD0ibTE3LjU4IDQ5YzAtOS4xNS03LjQyLTE2LjU4LTE2LjU4LTE2LjU4djE2LjU4eiIvPjwvZz48L3N2Zz4K');
4748
--image-search: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTM4LjE5IDMzLjI0YzIuMzUtMy4zMyAzLjczLTcuMzggMy43My0xMS43NiAwLTExLjI2LTkuMTctMjAuNDMtMjAuNDQtMjAuNDNzLTIwLjQzIDkuMTctMjAuNDMgMjAuNDMgOS4xNyAyMC40NCAyMC40MyAyMC40NGM0LjM4IDAgOC40My0xLjM4IDExLjc2LTMuNzNsOS43NCA5Ljc0IDQuOTUtNC45NXptLTE2LjcxIDEuNjhjLTcuNCAwLTEzLjQzLTYuMDMtMTMuNDMtMTMuNDRzNi4wMy0xMy40MyAxMy40My0xMy40MyAxMy40NCA2LjAzIDEzLjQ0IDEzLjQzLTYuMDMgMTMuNDQtMTMuNDQgMTMuNDR6IiBmaWxsPSIjZGFkYWRhIi8+PC9zdmc+');
4849
--image-server: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTQwLjQ5IDUuMDZoLTMwLjk4Yy00LjA2IDAtNy4zOCAzLjMyLTcuMzggNy4zOHYzMi41aDQ1Ljc0di0zMi41YzAtNC4wNi0zLjMyLTcuMzgtNy4zOC03LjM4em0tMzAuNDYgMTEuNzljLTIuMTUgMC0zLjktMS43NC0zLjktMy45czEuNzQtMy45IDMuOS0zLjkgMy45IDEuNzQgMy45IDMuOS0xLjc0IDMuOS0zLjkgMy45em0xMS4wOCAwYy0yLjE1IDAtMy45LTEuNzQtMy45LTMuOXMxLjc0LTMuOSAzLjktMy45IDMuOSAxLjc0IDMuOSAzLjktMS43NCAzLjktMy45IDMuOXoiIGZpbGw9IiMyZjJmMmYiLz48L3N2Zz4=');
4950
--image-stable: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTI1IDFjLTEzLjI1IDAtMjQgMTAuNzUtMjQgMjRzMTAuNzUgMjQgMjQgMjQgMjQtMTAuNzUgMjQtMjQtMTAuNzUtMjQtMjQtMjR6bS00LjI3IDM4LjEzLTExLjI0LTExLjI0IDUuNjYtNS42NiA1LjU5IDUuNTkgMTQuMTMtMTQuMTMgNS42NiA1LjY2LTE5Ljc4IDE5Ljc4eiIgZmlsbD0iIzY4YmIxMyIvPjwvc3ZnPg==');
@@ -81,6 +82,7 @@
8182
--image-plugins: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTM3LjkgNC43NmgtMjUuOGMtNi42NyA0LjI3LTExLjEgMTEuNzMtMTEuMSAyMC4yNHM0LjQzIDE1Ljk3IDExLjEgMjAuMjRoMjUuNzljNi42Ny00LjI2IDExLjEtMTEuNzMgMTEuMS0yMC4yNHMtNC40My0xNS45Ny0xMS4xLTIwLjI0em0tMjAuMTMgMjMuNTloLTQuODd2LTE1LjQ5aDQuODd6bTExLjQ2IDEwLjc4aC04LjQydi0yLjA1YzAtMi4zMSAxLjg5LTQuMjEgNC4yMS00LjIxczQuMjEgMS44OSA0LjIxIDQuMjF6bTcuODgtMTAuNzhoLTQuODd2LTE1LjQ5aDQuODd6IiBmaWxsPSIjZjFmMWYxIi8+PC9zdmc+');
8283
--image-podcast: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMjUiIGN5PSIyNSIgZmlsbD0iIzE2OTRmMSIgcj0iMjQuNSIvPjxnIGZpbGw9IiMwNzA3MTAiPjxwYXRoIGQ9Im0yNSA4LjFjLTUuOTIgMC0xMC43NiA0Ljg0LTEwLjc2IDEwLjc2djYuNzFjMCA1LjkyIDQuODQgMTAuNzYgMTAuNzYgMTAuNzYgNS45MiAwIDEwLjc2LTQuODQgMTAuNzYtMTAuNzZ2LTYuNzFjMC01LjkyLTQuODQtMTAuNzYtMTAuNzYtMTAuNzZ6bS0zLjM1IDE2LjM3YzAgLjYyLS41IDEuMTItMS4xMiAxLjEycy0xLjEyLS41LTEuMTItMS4xMnYtNC41MWMwLS42Mi41LTEuMTIgMS4xMi0xLjEyczEuMTIuNSAxLjEyIDEuMTJ6bTQuNDcgMS40N2MwIC42Mi0uNSAxLjEyLTEuMTIgMS4xMnMtMS4xMi0uNS0xLjEyLTEuMTJ2LTcuNDZjMC0uNjIuNS0xLjEyIDEuMTItMS4xMnMxLjEyLjUgMS4xMiAxLjEyem00LjQ3LTEuNDdjMCAuNjItLjUgMS4xMi0xLjEyIDEuMTJzLTEuMTItLjUtMS4xMi0xLjEydi00LjUxYzAtLjYyLjUtMS4xMiAxLjEyLTEuMTJzMS4xMi41IDEuMTIgMS4xMnoiLz48cGF0aCBkPSJtMjUgNDEuOWMtNy40OCAwLTE0LjA5LTUuMTgtMTUuNzEtMTIuMzEtLjE5LS44Ni4zNC0xLjcxIDEuMi0xLjkxLjg2LS4xOSAxLjcxLjM0IDEuOTEgMS4yIDEuMjkgNS43IDYuNTkgOS44MyAxMi42IDkuODNzMTEuMzEtNC4xMyAxMi42LTkuODNjLjE5LS44NiAxLjA1LTEuMzkgMS45MS0xLjJzMS40IDEuMDUgMS4yIDEuOTFjLTEuNjIgNy4xMy04LjIzIDEyLjMxLTE1LjcxIDEyLjMxeiIvPjwvZz48L3N2Zz4=');
8384
--image-question: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTI1IDFjLTEzLjI1IDAtMjQgMTAuNzUtMjQgMjRzMTAuNzUgMjQgMjQgMjQgMjQtMTAuNzUgMjQtMjQtMTAuNzUtMjQtMjQtMjR6bTIuMzIgMzguMDZjLS44Ny41OS0xLjg5Ljg5LTMuMDcuODlzLTIuMjktLjMtMy4xNi0uODljLS44Ny0uNi0xLjMtMS41Ni0xLjMtMi45IDAtMS40LjQzLTIuMzkgMS4zLTIuOTZzMS45Mi0uODUgMy4xNi0uODUgMi4yMS4yOCAzLjA3Ljg1Yy44Ny41NyAxLjMgMS41NSAxLjMgMi45NnMtLjQzIDIuMy0xLjMgMi45em03LjctMTguOTVjLS4zNC44Ni0uODcgMS42Ny0xLjYxIDIuNDItLjczLjc1LTEuNyAxLjUtMi45IDIuMjItLjg1LjUtMS41MS45My0yIDEuMjlzLS44My43LTEuMDQgMS4wM2MtLjIuMzMtLjMxLjcxLS4zMSAxLjEzdjEuMDFoLTYuNDl2LTEuNzFjMC0uODIuMTEtMS41Ni4zMy0yLjIycy42MS0xLjI5IDEuMTctMS44OCAxLjM1LTEuMTkgMi4zNS0xLjc5Yy45Ni0uNTcgMS42Ni0xLjA2IDIuMTEtMS40OHMuNzUtLjguODktMS4xNS4yMS0uNy4yMS0xLjA2YzAtLjU2LS4yNy0xLS44LTEuMzItLjU0LS4zMi0xLjIzLS40OS0yLjA5LS40OS0xLjA3IDAtMi4yMy4xOC0zLjQ4LjU0cy0yLjU3Ljg5LTMuOTggMS41OWwtMi45NC01LjRjMS41OS0uODYgMy4yOS0xLjU0IDUuMDktMi4wNXMzLjc3LS43NiA1LjktLjc2YzMuMiAwIDUuNjguNjYgNy40NCAxLjk5czIuNjQgMy4wOCAyLjY0IDUuMjVjMCAxLjAzLS4xNyAxLjk4LS41MSAyLjg0eiIgZmlsbD0iI2RhZGFkYSIvPjwvc3ZnPg==');
85+
--image-rss: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiI+PHBhdGggZD0ibTQwLjI3IDQ5aDguNzNjMC0yNi40Ny0yMS41My00OC00OC00OHY4LjczYzIxLjY1IDAgMzkuMjcgMTcuNjIgMzkuMjcgMzkuMjd6Ii8+PHBhdGggZD0ibTI0LjY5IDQ5aDguNzNjMC0xNy44Ny0xNC41NC0zMi40Mi0zMi40Mi0zMi40MnY4LjczYzEzLjA2IDAgMjMuNjkgMTAuNjMgMjMuNjkgMjMuNjl6Ii8+PHBhdGggZD0ibTE3LjU4IDQ5YzAtOS4xNS03LjQyLTE2LjU4LTE2LjU4LTE2LjU4djE2LjU4eiIvPjwvZz48L3N2Zz4K');
8486
--image-search: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTM4LjE5IDMzLjI0YzIuMzUtMy4zMyAzLjczLTcuMzggMy43My0xMS43NiAwLTExLjI2LTkuMTctMjAuNDMtMjAuNDQtMjAuNDNzLTIwLjQzIDkuMTctMjAuNDMgMjAuNDMgOS4xNyAyMC40NCAyMC40MyAyMC40NGM0LjM4IDAgOC40My0xLjM4IDExLjc2LTMuNzNsOS43NCA5Ljc0IDQuOTUtNC45NXptLTE2LjcxIDEuNjhjLTcuNCAwLTEzLjQzLTYuMDMtMTMuNDMtMTMuNDRzNi4wMy0xMy40MyAxMy40My0xMy40MyAxMy40NCA2LjAzIDEzLjQ0IDEzLjQzLTYuMDMgMTMuNDQtMTMuNDQgMTMuNDR6IiBmaWxsPSIjMmYyZjJmIi8+PC9zdmc+');
8587
--image-server: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTQwLjQ5IDUuMDZoLTMwLjk4Yy00LjA2IDAtNy4zOCAzLjMyLTcuMzggNy4zOHYzMi41aDQ1Ljc0di0zMi41YzAtNC4wNi0zLjMyLTcuMzgtNy4zOC03LjM4em0tMzAuNDYgMTEuNzljLTIuMTUgMC0zLjktMS43NC0zLjktMy45czEuNzQtMy45IDMuOS0zLjkgMy45IDEuNzQgMy45IDMuOS0xLjc0IDMuOS0zLjkgMy45em0xMS4wOCAwYy0yLjE1IDAtMy45LTEuNzQtMy45LTMuOXMxLjc0LTMuOSAzLjktMy45IDMuOSAxLjc0IDMuOSAzLjktMS43NCAzLjktMy45IDMuOXoiIGZpbGw9IiNmMWYxZjEiLz48L3N2Zz4=');
8688
--image-stable: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTAgNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTI1IDFjLTEzLjI1IDAtMjQgMTAuNzUtMjQgMjRzMTAuNzUgMjQgMjQgMjQgMjQtMTAuNzUgMjQtMjQtMTAuNzUtMjQtMjQtMjR6bS00LjI3IDM4LjEzLTExLjI0LTExLjI0IDUuNjYtNS42NiA1LjU5IDUuNTkgMTQuMTMtMTQuMTMgNS42NiA1LjY2LTE5Ljc4IDE5Ljc4eiIgZmlsbD0iIzk2ZmY0YyIvPjwvc3ZnPg==');

FrontEnd/styles/panel_button.scss

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,14 @@
1717
// -------------------------------------------------------------------------
1818

1919
.panel-button {
20-
transition: box-shadow 0.15s ease, transform 0.15s ease;
20+
transition:
21+
box-shadow 0.15s ease,
22+
transform 0.15s ease;
23+
24+
h3 {
25+
margin: 0 0 10px;
26+
font-size: 20px;
27+
}
2128

2229
a {
2330
display: flex;
513 KB
513 KB
82.3 KB

0 commit comments

Comments
 (0)