1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
!!! 5
%html{ lang: I18n.locale }
%head
%meta{ charset: 'utf-8' }/
%meta{ name: 'viewport', content: 'width=device-width, initial-scale=1' }/
- if cdn_host?
%link{ rel: 'dns-prefetch', href: cdn_host }/
- if storage_host?
%link{ rel: 'dns-prefetch', href: storage_host }/
%link{ rel: 'icon', href: favicon_path, type: 'image/x-icon' }/
%link{ rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' }/
%link{ rel: 'mask-icon', href: '/mask-icon.svg', color: '#2B90D9' }/
%link{ rel: 'manifest', href: '/manifest.json' }/
%meta{ name: 'msapplication-config', content: '/browserconfig.xml' }/
%meta{ name: 'theme-color', content: '#282c37' }/
%meta{ name: 'apple-mobile-web-app-capable', content: 'yes' }/
%title= content_for?(:page_title) ? safe_join([yield(:page_title).chomp.html_safe, title], ' - ') : title
= javascript_pack_tag "locales", integrity: true, crossorigin: 'anonymous'
- if @theme
- if @theme[:supported_locales].include? I18n.locale.to_s
= javascript_pack_tag "locales/#{@theme[:flavour]}/#{I18n.locale}", integrity: true, crossorigin: 'anonymous'
- elsif @theme[:supported_locales].include? 'en'
= javascript_pack_tag "locales/#{@theme[:flavour]}/en", integrity: true, crossorigin: 'anonymous'
= csrf_meta_tags
= yield :header_tags
-# These must come after :header_tags to ensure our initial state has been defined.
= render partial: 'layouts/theme', object: @core
= render partial: 'layouts/theme', object: @theme
- if Setting.custom_css.present?
= stylesheet_link_tag custom_css_path, media: 'all'
- if current_account&.user_hides_captions?
:css
div .media-caption,
span .caption
{ display: none }
- if current_account&.user_wants_larger_menus?
:css
.dropdown-menu__item a
{ padding: 14px 14px !important; font-size: 14px !important }
.dropdown--active .dropdown__content > ul > li > a
{ padding: 14px 0 !important; font-size: 14px !important }
- if current_account&.user_wants_larger_buttons?
:css
.drawer { min-width: 350px !important }
.status__action-bar .icon-button,
.detailed-status__action-bar .icon-button,
.composer--options .icon-button
{
font-size: 24px !important;
height: 24px !important;
width: 24px !important;
line-height: 24px !important;
margin-right: 24px;
}
- if current_account&.user_wants_larger_drawer?
:css
.drawer { min-width: 400px !important }
- if current_account&.user_hides_filtered_gap?
:css
.status__wrapper--filtered { display: none !important; }
- if current_account&.user_hides_mascot?
:css
.drawer__inner__mastodon>img { display: none !important }
-if current_account&.user_wants_larger_emoji?
:css
.status__content .emojione { width: 24px !important; height: 24px !important }
.status__content .hoverplay:hover { padding-left: 24px !important }
-if current_account&.user_shows_cursor?
:css
span.cursor::before { content: " █" }
-if current_account&.user&.setting_auto_play_gif
:css
span.cursor { animation: t_blink 1s linear infinite }
-else
:css
span.cursor:hover { animation: t_blink 1s linear infinite }
%body{ class: body_classes }
= content_for?(:content) ? yield(:content) : yield
|