diff --git a/hyperkitty/static/hyperkitty/img/Boost_Brandmark_BlackBoost_Transparent.svg b/hyperkitty/static/hyperkitty/img/Boost_Brandmark_BlackBoost_Transparent.svg new file mode 100644 index 0000000..09ce682 --- /dev/null +++ b/hyperkitty/static/hyperkitty/img/Boost_Brandmark_BlackBoost_Transparent.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/hyperkitty/static/hyperkitty/img/Boost_Brandmark_WhiteBoost_Transparent.svg b/hyperkitty/static/hyperkitty/img/Boost_Brandmark_WhiteBoost_Transparent.svg new file mode 100644 index 0000000..0893f9b --- /dev/null +++ b/hyperkitty/static/hyperkitty/img/Boost_Brandmark_WhiteBoost_Transparent.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/hyperkitty/static/hyperkitty/img/Boost_Symbol_Transparent.svg b/hyperkitty/static/hyperkitty/img/Boost_Symbol_Transparent.svg new file mode 100755 index 0000000..f9c7f76 --- /dev/null +++ b/hyperkitty/static/hyperkitty/img/Boost_Symbol_Transparent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/hyperkitty/static/hyperkitty/sass/_hyperkitty-base.scss b/hyperkitty/static/hyperkitty/sass/_hyperkitty-base.scss new file mode 100644 index 0000000..336bb9a --- /dev/null +++ b/hyperkitty/static/hyperkitty/sass/_hyperkitty-base.scss @@ -0,0 +1,53 @@ + +@import "original/hyperkitty-base"; + +body { + background-color: rgb(229, 231, 235); + color: rgb(49, 74, 87); +} + +nav#navbar-main { + background-color: $navbarColor; + border-bottom: 2px solid rgb(209, 213, 219); + + a.nav-link, div.navbar-header > a { + color: rgb(49, 74, 87); + } +} + +.navbar-brand img { + height: 25px; + margin-right: 25px; +} + +.btn-primary { + background-color: rgb(255, 159, 0); + border-color: rgb(255, 159, 0); +} +.btn-primary:hover { + background-color: rgba(255, 159, 0, 0.8); + border-color: rgb(255, 159, 0); +} + +.boost-nav .nav-item a:hover { + color: rgb(255, 159, 0) !important; +} + +.boost-nav .nav-item { + line-height: 14px; + margin-right: 25px !important; +} + +footer { + background-color: $navbarColor; +} + +nav { + $searchColor: white; +} + +.navbar-toggler { + color: #999; +} + + diff --git a/hyperkitty/static/hyperkitty/sass/_hyperkitty-message.scss b/hyperkitty/static/hyperkitty/sass/_hyperkitty-message.scss new file mode 100644 index 0000000..f1d5dca --- /dev/null +++ b/hyperkitty/static/hyperkitty/sass/_hyperkitty-message.scss @@ -0,0 +1,9 @@ + +@import "original/hyperkitty-message"; + +.replies .email { + .subject { + padding-top: 5; + padding-left: 0; + } +} diff --git a/hyperkitty/static/hyperkitty/sass/_hyperkitty-variables.scss b/hyperkitty/static/hyperkitty/sass/_hyperkitty-variables.scss new file mode 100644 index 0000000..44e6f2b --- /dev/null +++ b/hyperkitty/static/hyperkitty/sass/_hyperkitty-variables.scss @@ -0,0 +1,5 @@ + +@import "original/hyperkitty-variables"; + +$rowHoverColor: #999; +$navbarColor: rgb(229,231,235); diff --git a/hyperkitty/static/hyperkitty/sass/original/_hyperkitty-base.scss b/hyperkitty/static/hyperkitty/sass/original/_hyperkitty-base.scss new file mode 100644 index 0000000..884f964 --- /dev/null +++ b/hyperkitty/static/hyperkitty/sass/original/_hyperkitty-base.scss @@ -0,0 +1,112 @@ +// floating navbar's height +$navbarHeight: 75px; +$navbarHoverColor: #e7e7e7; + + +html { + // for compatibility with Bootstrap 3, we set the default size to be 14 (b4 makes it 16). + font-size: 14px; +} + +body { + background-color: white; + min-height: 100vh; + min-height: 100dvh; + display: grid; + grid-template-rows: auto 1fr auto; + +} + +nav#navbar-main { + background-color: $navbarColor; + + a.nav-link, div.navbar-header > a { + color: white; + } + +} + + + + +footer { + background-color: #f8f8f8; + border-top: 1px solid $navbarHoverColor; + margin-top: 2em; + padding: 1em; + text-align: center; + p { + margin: 0; + } + + img { + height: 25px; + } +} + +//=== NAVBAR +nav { + padding-top: 5px; + padding-bottom: 5px; + + // general links + ul.nav-pills li:first-child { + padding-top: 2px; + } + + // login/logout + ul.auth a:last-child { + padding-right: 0; /* flush with right margin */ + } + + // override bootstrap color for search button + .input-group-addon { + background: inherit; + } + $searchColor: rgb(146, 194, 245); + .search { + background-color: $searchColor; + text-align: center; + border: none; + } + + .search-button { + background-color: $searchColor; + } + + // postorius link + .postorius { + padding: 10px 20px; + margin: 0; + float: right; + } + + .user-button { + background-color: inherit; + border: none; + } +} + +// hack: forces search box to appear on one line in navbar in larger screens +// hack: we need extra .input-group to force search box to appear on one line in smaller screens +// note: any pixel-based width will allow hack to work +// @media (min-width: 768px) { +// nav .input-group { +// width: 200px; +// } +// } + + +.circle img { + border-radius: 50%; + width: 50px; + height: 50px; + /* width and height can be anything, as long as they're equal */ +} + +.circle-small img { + border-radius: 50%; + width: 40px; + height: 40px; + /* width and height can be anything, as long as they're equal */ +} diff --git a/hyperkitty/static/hyperkitty/sass/original/_hyperkitty-message.scss b/hyperkitty/static/hyperkitty/sass/original/_hyperkitty-message.scss new file mode 100644 index 0000000..b86101f --- /dev/null +++ b/hyperkitty/static/hyperkitty/sass/original/_hyperkitty-message.scss @@ -0,0 +1,628 @@ +// MESSAGE VIEW95px +$evenEmailColor: rgb(246, 246, 246); +$oddEmailColor: rgb(238, 238, 238); + +//=== Thread view ==/ + +.thread-header { + margin-bottom: 2em; + h3 { + text-align: center; + font-size: 1.5em; + margin-top: 8px; + margin-bottom: 0; + } + .thread-older, .thread-newer { + margin-top: 1em; + color: $subheadingColor; + } + button { + margin-top: 10px; + } + .thread-category { + text-align: center; + } + .thread-titles { + color: $subheadingColor; + } +} + +.view-thread .nav-tabs { + margin-bottom: 1.5em; + .dropdown-header { + padding-left: 0; + padding-right: 0; + } +} +.view-thread .anchor-link { + position: relative; + a { + position: absolute; + top: -95px; + } +} + +.view-thread { + .unread { + border-left: 2px solid #08c; + } +} +//=== Main section with the whole thread ==/ + +// First email of the thread +.email-header { + margin-bottom: 1em; + display: table; + width: 100%; + //display: inline-block; + + .gravatar-wrapper { + float: left; + } + .gravatar { + margin-bottom: 2px; + display: inline-block + } + + .fa-envelope { + font-size: 130%; + margin-right: 10px; + } + + .messagelink { + font-style: italic; + font-size: 90%; + color: rgb(167, 169, 172); + a { + color: rgb(167, 169, 172); + } + } + + .fa { + color: #08c; + } + +} + +.email-author { + margin-left: 0.5em;; + align-items: center; + + .name { + font-size: 1.25em; + } + .rank{ + color: $subheadingColor; + font-size: 80%; + font-weight: bold; + } +} + +.email-date { + .date { + font-weight: bold; + display: inline-block; + } + .time { + text-align: right; + display: inline-block; + span { + text-align: right; + color: $subheadingColor; + border-bottom: 1px dashed $rowBorderColor; + cursor: help; + } + } +} + +.email-body { + word-wrap: break-word; + + span.read-more a, + span.read-less a { + float: right; + padding: 3px 10px 0 0; + } + + .blockquote { + padding-left: 20px; + padding-right: 20px; + font-size: 1rem; + border-radius: 10px + } + + blockquote { + background: #e8ecf2; + border-left: 2px solid #3771c8; + } + + blockquote blockquote { + background: #e4f1df; + border-left: 2px solid #3771c8; + } + + blockquote blockquote blockquote { + background: #ffc4b3; + border-left: 2px solid #3771c8; + } + blockquote blockquote blockquote blockquote { + background: #e8ecf2; + border-left: 2px solid #3771c8; + } + + p { + white-space: pre-wrap; + } + + div { + white-space: pre-wrap; + } + + h1, h2, h3, h4, h5, h6 { + font-size: 1.2rem; + } + + pre { + border: none; + } + +} +.email-body.fixed { + font-family: 'Droid Sans Mono', monospace; + white-space: pre; +} + +.attachments { + padding-top: 8px; + p { + margin-bottom: 0; + font-weight: bold; + } +} + +.email-info { + position: relative; + .messagelink { + display: inline; + font-style: italic; + font-size: 90%; + color: rgb(167, 169, 172); + a { + color: rgb(167, 169, 172); + } + } + .messagelink span, .messagelink a { + padding: 5px; + margin-left: 2px; + border-radius: 2px; + } + .messagelink span:hover, .messagelink a:hover { + background: grey; + } + + .vote { + padding: 5px; + marging-left: 2px; + border-radius: 2px; + } + + .youlike:hover { + background: #E1F4A2; + } + + .youdislike:hover { + background: #FFAAAA + } + .reply { + // padding: 10px; + border-radius: 4px; + } + .reply:hover { + background: #e8ecf2; + } + .likeform-wrapper { + position: relative; + top: 0; + right: 0; + } + .likeform-wrapper a { + text-decoration: none; + } + .likestatus + span { + padding-right: 1em; + } + div.attachments { + display: inline; + margin-left: 1em; + .attachments-list { + margin-bottom: 0; + } + } + + .reply-form-unauthenticated { + display: none; + margin-top: 1em; + } + .reply-form { + display: none; + .reply-tools { + margin-top: 10px; + margin-bottom: 0; + label { + font-size: 90%; + font-weight: normal; + } + } + p { margin: 0; } + p.new-subject { + display: none; + margin-bottom: 0.5em; + } + p.message-text { + margin-bottom: 0.25em; + } + p.buttons { + margin-top: 1em; + } + } + .reply-result { + text-align: center; + .alert { + display: inline-block; + } + .alert-success { + margin-bottom: 0; + } + .alert-error { + white-space: pre; + text-align: left; + } + } + + +} + +.sort-mode { + text-align: right; + padding-top: 10px; +} + + +/* Set the indent of the replies based on the size of the screen.*/ +.reply-level-1 { + margin-left: 2em; +} +.reply-level-2 { + margin-left: 4em; +} +.reply-level-3 { + margin-left: 6em; +} +.reply-level-4 { + margin-left: 8em; +} +.reply-level-5 { + margin-left: 10em; +} + + +/* On smaller screens, do not indent replies as it gets harder to read emails + * at level 5. + */ +@include media-breakpoint-down(sm) { + // @media (max-width: 768px) { + .reply-level-1, .reply-level-2, .reply-level-3, .reply-level-4, .reply-level-5 { + margin-left: 0em; + } +} + + +/* The email thread */ +.view-thread .replies { + margin-top: -15px; +} +.replies .email { + border-top: 1px solid $rowBorderColor; + // padding: 0.5em; + margin: 20px 0 20px 0; + .unread { + border-top: 1px solid rgb(100, 100, 100); + background-color: rgb(214, 214, 214); + i.unread { + float: right; + margin-right: 2em; + } + } + .subject { + text-align: center; + // clear: both; + font-style: italic; + display: inline-flex; + padding-top: 10px; + padding-left: 20px; + } + .email-body { + // padding: 5px; + background-color: rgb(255, 255, 255); + } +} +// .even .email { +// background-color: $evenEmailColor; +// } +// .odd .email { +// background-color: $oddEmailColor; +// } +.temporary .email { + background-color: rgb(215, 215, 229); + display: none; +} + + +// === Thread general information column + +.days-num { + font-size: 150%; +} +.days-text { + font-size: 70%; +} + + +#thread-overview-info, #message-overview-info { + a:hover .fa { + color: #fff; + } + .fa { + color: #BFBFBF; + } + .postorius .fa { + color: #007bff; + } +} + +#thread-overview-info { + #thread-date-info { + padding-bottom: 8px; + } + + .list-name { + word-wrap: break-word; + a { + color: black; + } + } + form.favorite { + margin-bottom: 0; + } + .favorite a { + i { + margin-right: 0.3em; + } + } + a.saved, + a.notsaved { + /* Will be shown via Javascript */ + display: none; + } +} + +//=== Tags + +#tag-title { + color: rgb(77, 77, 77); + @extend .small-caps; +} + +#tags { + color: rgb(167, 169, 172); + margin-top: 2em; +} +#tags ul { + padding: 10px 0; + margin: 0; +} +#tags ul li { + padding-left: 0; +} +#tags ul li span { + margin-left: 5px; +} +#tags .rmtag { + margin: 0; + display: inline; +} +#tags .rmtag a { + visibility: hidden; + font-size: 125%; +} +#tags:hover .rmtag a { + visibility: visible; +} +#tags:hover .rmtag a:hover { + text-decoration: none; +} + +#add-tag { + margin-top: 0.3em; +} + +//=== Participants ==/ + +#participants { + margin-top: 2em; + color: $subheadingColor; + h3#participants_title { + @extend .small-caps; + } + li { + margin: 1em 0; + } + .participant-gravatar { + padding-left: 0; + } +} + + +/* Inline quotes */ +.quoted-switch a { + background-color: #fafafa; + padding: 0 4px 2px 4px; + border-left: 2px solid rgb(55, 113, 200); + font-weight: bold; + font-size: 115%; + &:hover { + text-decoration: none; + } +} +.quoted-text { + border-left: 2px solid rgb(55, 113, 200); + padding: 0.5em; + background: #e8ecf2; + border-radius: 10px; +} + + +//=== Navigation for unread messages ==/ + #unreadnavbar { + position: fixed; + bottom: 0; + right: 0; + text-align: right; + padding-right: 2em; + display: none; + } + #unreadnavbar>div { + width: auto; + padding: 0.2em 1em; + border: 1px solid #888; + border-bottom: none; + background-color: #eee; + } + + + //=== Re-attach threads ==/ + .reattach-thread { + h1 { + text-align: center; + font-size: 24px; + line-height: 26px; + margin-bottom: 2em; + } + form { + margin-bottom: 0; + img.ajaxloader { + margin-left: 1em; + } + } + form.search { + margin-top: 2em; + p { + line-height: 22px; + } + input { + margin-left: 3em; + } + input, + button { + font-size: 12px; + padding: 2px 8px; + } + } + li.manual { + label { + display: inline; + } + input { + margin-bottom: 0; + } + input[type='text'] { + width: 22em; + } + } + p.buttons { + margin-top: 2em; + } + } + + //=== message_new.html: start a new thread ==/ + .new-thread-form { + //margin-left: 2em; + + #id_subject, + textarea { + width: 100%; + } + + p.buttons { + margin-top: 2em; + } + } + + /* +// tiny screen (<=320px): +// nav-tabs: less padding, smaller dropdowns, right-align last dropdown +@media (max-width: $screen-tn) { + .view-thread .nav-tabs { + >li a { + padding-left: 7px; + padding-right: 7px; + } + #navbarMonthsListDrop ~ .dropdown-menu { + min-width: 90px; + left: inherit; + right: 0; + } + } + #participants { + .participant-name { + margin-left: 0 !important; + } + } +} + */ + + // xs screen (<=540px): more padding/spacing in nav-tabs + @include media-breakpoint-down(539px) { + // @media (max-width: 539px) { + .view-thread .nav-tabs { + .dropdown-menu { + min-width: 120px; + } + #navbarMonthsListDrop ~ .dropdown-menu { + text-align: left; + } + } + } + // small screens (<768px) have smaller gravatar images + @include media-breakpoint-down(xs) { + // @media (max-width: $screen-xs-max) { + #participants { + .participant-name { + margin-left: 10px; + } + } + } + // mid screens (<992px): adjust spacing between gravatar images + // @include media-breakpoint-up(md) { + // @media (min-width: $screen-md-min) { + // #participants { + // img.gravatar { + // @include square(32px); + // } + // } + // } + + + //=== Message view ==/ + + .message-header { + margin: 1em 0 2em 0; + .message-back { + a { + padding: 0.2em 0; + .icon { + font-size: 1.5em; + } + } + } + } diff --git a/hyperkitty/static/hyperkitty/sass/original/_hyperkitty-variables.scss b/hyperkitty/static/hyperkitty/sass/original/_hyperkitty-variables.scss new file mode 100644 index 0000000..272a201 --- /dev/null +++ b/hyperkitty/static/hyperkitty/sass/original/_hyperkitty-variables.scss @@ -0,0 +1,13 @@ +// Variables common to two or more pages + +$headingColor: #666; +$subheadingColor: #999; +$rowBorderColor: #ccc; +$rowSideGutter: 0.5em; +$rowHoverColor: #08c; +$navbarColor: rgb(8, 109, 215); +$linkHoverColor: #ddd; +$linkColor: #08c; +$maroon: rgb(128,0,0); +$grey: #999; +$super-light-grey: #eee; diff --git a/hyperkitty/static/hyperkitty/sass/revsys-copies-bck/_hyperkitty-base.scss b/hyperkitty/static/hyperkitty/sass/revsys-copies-bck/_hyperkitty-base.scss new file mode 100644 index 0000000..099e8fd --- /dev/null +++ b/hyperkitty/static/hyperkitty/sass/revsys-copies-bck/_hyperkitty-base.scss @@ -0,0 +1,139 @@ +// floating navbar's height +$navbarHeight: 75px; +$navbarHoverColor: #e7e7e7; + + +html { + // for compatibility with Bootstrap 3, we set the default size to be 14 (b4 makes it 16). + font-size: 14px; +} + +body { + background-color: rgb(229, 231, 235); + color: rgb(49, 74, 87); + min-height: 100vh; + min-height: 100dvh; + display: grid; + grid-template-rows: auto 1fr auto; + +} + +nav#navbar-main { + background-color: $navbarColor; + border-bottom: 2px solid rgb(209, 213, 219); + + a.nav-link, div.navbar-header > a { + color: rgb(49, 74, 87); + } + +} + +.navbar-brand img { + height: 25px; + margin-right: 25px; +} + +.btn-primary { + background-color: rgb(255, 159, 0); + border-color: rgb(255, 159, 0); +} +.btn-primary:hover { + background-color: rgba(255, 159, 0, 0.8); + border-color: rgb(255, 159, 0); +} + +.boost-nav .nav-item a:hover { + color: rgb(255, 159, 0) !important; +} + +.boost-nav .nav-item { + line-height: 14px; + margin-right: 25px !important; +} + + +footer { + background-color: $navbarColor; + border-top: 1px solid $navbarHoverColor; + margin-top: 2em; + padding: 1em; + text-align: center; + p { + margin: 0; + } + + img { + height: 25px; + } +} + +//=== NAVBAR +nav { + padding-top: 5px; + padding-bottom: 5px; + + // general links + ul.nav-pills li:first-child { + padding-top: 2px; + } + + // login/logout + ul.auth a:last-child { + padding-right: 0; /* flush with right margin */ + } + + // override bootstrap color for search button + .input-group-addon { + background: inherit; + } + $searchColor: white; + .search { + background-color: $searchColor; + text-align: center; + border: none; + } + + .search-button { + background-color: $searchColor; + } + + // postorius link + .postorius { + padding: 10px 20px; + margin: 0; + float: right; + } + + .user-button { + background-color: inherit; + border: none; + } +} + +.navbar-toggler { + color: #999; +} + +// hack: forces search box to appear on one line in navbar in larger screens +// hack: we need extra .input-group to force search box to appear on one line in smaller screens +// note: any pixel-based width will allow hack to work +// @media (min-width: 768px) { +// nav .input-group { +// width: 200px; +// } +// } + + +.circle img { + border-radius: 50%; + width: 50px; + height: 50px; + /* width and height can be anything, as long as they're equal */ +} + +.circle-small img { + border-radius: 50%; + width: 40px; + height: 40px; + /* width and height can be anything, as long as they're equal */ +} diff --git a/hyperkitty/static/hyperkitty/sass/revsys-copies-bck/_hyperkitty-message.scss b/hyperkitty/static/hyperkitty/sass/revsys-copies-bck/_hyperkitty-message.scss new file mode 100644 index 0000000..fdd1499 --- /dev/null +++ b/hyperkitty/static/hyperkitty/sass/revsys-copies-bck/_hyperkitty-message.scss @@ -0,0 +1,627 @@ +// MESSAGE VIEW95px +$evenEmailColor: rgb(246, 246, 246); +$oddEmailColor: rgb(238, 238, 238); + +//=== Thread view ==/ + +.thread-header { + margin-bottom: 2em; + h3 { + text-align: center; + font-size: 1.5em; + margin-top: 8px; + margin-bottom: 0; + } + .thread-older, .thread-newer { + margin-top: 1em; + color: $subheadingColor; + } + button { + margin-top: 10px; + } + .thread-category { + text-align: center; + } + .thread-titles { + color: $subheadingColor; + } +} + +.view-thread .nav-tabs { + margin-bottom: 1.5em; + .dropdown-header { + padding-left: 0; + padding-right: 0; + } +} +.view-thread .anchor-link { + position: relative; + a { + position: absolute; + top: -95px; + } +} + +.view-thread { + .unread { + border-left: 2px solid #08c; + } +} +//=== Main section with the whole thread ==/ + +// First email of the thread +.email-header { + margin-bottom: 1em; + display: table; + width: 100%; + //display: inline-block; + + .gravatar-wrapper { + float: left; + } + .gravatar { + margin-bottom: 2px; + display: inline-block + } + + .fa-envelope { + font-size: 130%; + margin-right: 10px; + } + + .messagelink { + font-style: italic; + font-size: 90%; + color: rgb(167, 169, 172); + a { + color: rgb(167, 169, 172); + } + } + + .fa { + color: #08c; + } + +} + +.email-author { + margin-left: 0.5em;; + align-items: center; + + .name { + font-size: 1.25em; + } + .rank{ + color: $subheadingColor; + font-size: 80%; + font-weight: bold; + } +} + +.email-date { + .date { + font-weight: bold; + display: inline-block; + } + .time { + text-align: right; + display: inline-block; + span { + text-align: right; + color: $subheadingColor; + border-bottom: 1px dashed $rowBorderColor; + cursor: help; + } + } +} + +.email-body { + word-wrap: break-word; + + span.read-more a, + span.read-less a { + float: right; + padding: 3px 10px 0 0; + } + + .blockquote { + padding-left: 20px; + padding-right: 20px; + font-size: 1rem; + border-radius: 10px + } + + blockquote { + background: #e8ecf2; + border-left: 2px solid #3771c8; + } + + blockquote blockquote { + background: #e4f1df; + border-left: 2px solid #3771c8; + } + + blockquote blockquote blockquote { + background: #ffc4b3; + border-left: 2px solid #3771c8; + } + blockquote blockquote blockquote blockquote { + background: #e8ecf2; + border-left: 2px solid #3771c8; + } + + p { + white-space: pre-wrap; + } + + div { + white-space: pre-wrap; + } + + h1, h2, h3, h4, h5, h6 { + font-size: 1.2rem; + } + + pre { + border: none; + } + +} +.email-body.fixed { + font-family: 'Droid Sans Mono', monospace; + white-space: pre; +} + +.attachments { + padding-top: 8px; + p { + margin-bottom: 0; + font-weight: bold; + } +} + +.email-info { + position: relative; + .messagelink { + display: inline; + font-style: italic; + font-size: 90%; + color: rgb(167, 169, 172); + a { + color: rgb(167, 169, 172); + } + } + .messagelink span, .messagelink a { + padding: 5px; + margin-left: 2px; + border-radius: 2px; + } + .messagelink span:hover, .messagelink a:hover { + background: grey; + } + + .vote { + padding: 5px; + marging-left: 2px; + border-radius: 2px; + } + + .youlike:hover { + background: #E1F4A2; + } + + .youdislike:hover { + background: #FFAAAA + } + .reply { + // padding: 10px; + border-radius: 4px; + } + .reply:hover { + background: #e8ecf2; + } + .likeform-wrapper { + position: relative; + top: 0; + right: 0; + } + .likeform-wrapper a { + text-decoration: none; + } + .likestatus + span { + padding-right: 1em; + } + div.attachments { + display: inline; + margin-left: 1em; + .attachments-list { + margin-bottom: 0; + } + } + + .reply-form-unauthenticated { + display: none; + margin-top: 1em; + } + .reply-form { + display: none; + .reply-tools { + margin-top: 10px; + margin-bottom: 0; + label { + font-size: 90%; + font-weight: normal; + } + } + p { margin: 0; } + p.new-subject { + display: none; + margin-bottom: 0.5em; + } + p.message-text { + margin-bottom: 0.25em; + } + p.buttons { + margin-top: 1em; + } + } + .reply-result { + text-align: center; + .alert { + display: inline-block; + } + .alert-success { + margin-bottom: 0; + } + .alert-error { + white-space: pre; + text-align: left; + } + } + + +} + +.sort-mode { + text-align: right; + padding-top: 10px; +} + + +/* Set the indent of the replies based on the size of the screen.*/ +.reply-level-1 { + margin-left: 2em; +} +.reply-level-2 { + margin-left: 4em; +} +.reply-level-3 { + margin-left: 6em; +} +.reply-level-4 { + margin-left: 8em; +} +.reply-level-5 { + margin-left: 10em; +} + + +/* On smaller screens, do not indent replies as it gets harder to read emails + * at level 5. + */ +@include media-breakpoint-down(sm) { + // @media (max-width: 768px) { + .reply-level-1, .reply-level-2, .reply-level-3, .reply-level-4, .reply-level-5 { + margin-left: 0em; + } +} + + +/* The email thread */ +.view-thread .replies { + margin-top: -15px; +} +.replies .email { + border-top: 1px solid $rowBorderColor; + // padding: 0.5em; + margin: 20px 0 20px 0; + .unread { + border-top: 1px solid rgb(100, 100, 100); + background-color: rgb(214, 214, 214); + i.unread { + float: right; + margin-right: 2em; + } + } + .subject { + text-align: center; + // clear: both; + font-style: italic; + display: inline-flex; + padding-top: 5; + } + .email-body { + // padding: 5px; + background-color: rgb(255, 255, 255); + } +} +// .even .email { +// background-color: $evenEmailColor; +// } +// .odd .email { +// background-color: $oddEmailColor; +// } +.temporary .email { + background-color: rgb(215, 215, 229); + display: none; +} + + +// === Thread general information column + +.days-num { + font-size: 150%; +} +.days-text { + font-size: 70%; +} + + +#thread-overview-info, #message-overview-info { + a:hover .fa { + color: #fff; + } + .fa { + color: #BFBFBF; + } + .postorius .fa { + color: #007bff; + } +} + +#thread-overview-info { + #thread-date-info { + padding-bottom: 8px; + } + + .list-name { + word-wrap: break-word; + a { + color: black; + } + } + form.favorite { + margin-bottom: 0; + } + .favorite a { + i { + margin-right: 0.3em; + } + } + a.saved, + a.notsaved { + /* Will be shown via Javascript */ + display: none; + } +} + +//=== Tags + +#tag-title { + color: rgb(77, 77, 77); + @extend .small-caps; +} + +#tags { + color: rgb(167, 169, 172); + margin-top: 2em; +} +#tags ul { + padding: 10px 0; + margin: 0; +} +#tags ul li { + padding-left: 0; +} +#tags ul li span { + margin-left: 5px; +} +#tags .rmtag { + margin: 0; + display: inline; +} +#tags .rmtag a { + visibility: hidden; + font-size: 125%; +} +#tags:hover .rmtag a { + visibility: visible; +} +#tags:hover .rmtag a:hover { + text-decoration: none; +} + +#add-tag { + margin-top: 0.3em; +} + +//=== Participants ==/ + +#participants { + margin-top: 2em; + color: $subheadingColor; + h3#participants_title { + @extend .small-caps; + } + li { + margin: 1em 0; + } + .participant-gravatar { + padding-left: 0; + } +} + + +/* Inline quotes */ +.quoted-switch a { + background-color: #fafafa; + padding: 0 4px 2px 4px; + border-left: 2px solid rgb(55, 113, 200); + font-weight: bold; + font-size: 115%; + &:hover { + text-decoration: none; + } +} +.quoted-text { + border-left: 2px solid rgb(55, 113, 200); + padding: 0.5em; + background: #e8ecf2; + border-radius: 10px; +} + + +//=== Navigation for unread messages ==/ + #unreadnavbar { + position: fixed; + bottom: 0; + right: 0; + text-align: right; + padding-right: 2em; + display: none; + } + #unreadnavbar>div { + width: auto; + padding: 0.2em 1em; + border: 1px solid #888; + border-bottom: none; + background-color: #eee; + } + + + //=== Re-attach threads ==/ + .reattach-thread { + h1 { + text-align: center; + font-size: 24px; + line-height: 26px; + margin-bottom: 2em; + } + form { + margin-bottom: 0; + img.ajaxloader { + margin-left: 1em; + } + } + form.search { + margin-top: 2em; + p { + line-height: 22px; + } + input { + margin-left: 3em; + } + input, + button { + font-size: 12px; + padding: 2px 8px; + } + } + li.manual { + label { + display: inline; + } + input { + margin-bottom: 0; + } + input[type='text'] { + width: 22em; + } + } + p.buttons { + margin-top: 2em; + } + } + + //=== message_new.html: start a new thread ==/ + .new-thread-form { + //margin-left: 2em; + + #id_subject, + textarea { + width: 100%; + } + + p.buttons { + margin-top: 2em; + } + } + + /* +// tiny screen (<=320px): +// nav-tabs: less padding, smaller dropdowns, right-align last dropdown +@media (max-width: $screen-tn) { + .view-thread .nav-tabs { + >li a { + padding-left: 7px; + padding-right: 7px; + } + #navbarMonthsListDrop ~ .dropdown-menu { + min-width: 90px; + left: inherit; + right: 0; + } + } + #participants { + .participant-name { + margin-left: 0 !important; + } + } +} + */ + + // xs screen (<=540px): more padding/spacing in nav-tabs + @include media-breakpoint-down(539px) { + // @media (max-width: 539px) { + .view-thread .nav-tabs { + .dropdown-menu { + min-width: 120px; + } + #navbarMonthsListDrop ~ .dropdown-menu { + text-align: left; + } + } + } + // small screens (<768px) have smaller gravatar images + @include media-breakpoint-down(xs) { + // @media (max-width: $screen-xs-max) { + #participants { + .participant-name { + margin-left: 10px; + } + } + } + // mid screens (<992px): adjust spacing between gravatar images + // @include media-breakpoint-up(md) { + // @media (min-width: $screen-md-min) { + // #participants { + // img.gravatar { + // @include square(32px); + // } + // } + // } + + + //=== Message view ==/ + + .message-header { + margin: 1em 0 2em 0; + .message-back { + a { + padding: 0.2em 0; + .icon { + font-size: 1.5em; + } + } + } + } diff --git a/hyperkitty/static/hyperkitty/sass/revsys-copies-bck/_hyperkitty-variables.scss b/hyperkitty/static/hyperkitty/sass/revsys-copies-bck/_hyperkitty-variables.scss new file mode 100644 index 0000000..ab28131 --- /dev/null +++ b/hyperkitty/static/hyperkitty/sass/revsys-copies-bck/_hyperkitty-variables.scss @@ -0,0 +1,13 @@ +// Variables common to two or more pages + +$headingColor: #666; +$subheadingColor: #999; +$rowBorderColor: #ccc; +$rowSideGutter: 0.5em; +$rowHoverColor: #999; +$navbarColor: rgb(229,231,235); +$linkHoverColor: #ddd; +$linkColor: #08c; +$maroon: rgb(128,0,0); +$grey: #999; +$super-light-grey: #eee; diff --git a/hyperkitty/templates/hyperkitty/base.html b/hyperkitty/templates/hyperkitty/base.html new file mode 100644 index 0000000..2f5685a --- /dev/null +++ b/hyperkitty/templates/hyperkitty/base.html @@ -0,0 +1,257 @@ +{% load i18n %} +{% load compress %} +{% load static %} +{% load hk_generic %} +{% export_allowed as export_allowed %} + + + + + + + {% block head_title %}{{ site_name }}{% endblock %} + + + + + + {% compress css %} + + + + + {% endcompress %} + {% block additional_stylesheets %} {% endblock %} + {% block head_feed %}{% endblock %} + {% include 'hyperkitty/headers.html' %} + + + + + {% include 'hyperkitty/top.html' %} + + + + {% if messages %} +
+ {% for msg in messages %} +
+ + +
+ {% endfor %} +
+ {% endif %} + + + +
+ {% block content %} {% endblock %} +
+ + + + + + {% compress js %} + + {% block additionaljs %} {% endblock %} + + {% include 'hyperkitty/bottom.html' %} + + + diff --git a/hyperkitty/templates/hyperkitty/base.html.original b/hyperkitty/templates/hyperkitty/base.html.original new file mode 100644 index 0000000..4220195 --- /dev/null +++ b/hyperkitty/templates/hyperkitty/base.html.original @@ -0,0 +1,250 @@ +{% load i18n %} +{% load compress %} +{% load static %} +{% load hk_generic %} +{% export_allowed as export_allowed %} + + + + + + + {% block head_title %}{{ site_name }}{% endblock %} + + + + + + {% compress css %} + + + + + {% endcompress %} + {% block additional_stylesheets %} {% endblock %} + {% block head_feed %}{% endblock %} + {% include 'hyperkitty/headers.html' %} + + + + + {% include 'hyperkitty/top.html' %} + + + + {% if messages %} +
+ {% for msg in messages %} +
+ + +
+ {% endfor %} +
+ {% endif %} + + + +
+ {% block content %} {% endblock %} +
+ + + + + + {% compress js %} + + {% block additionaljs %} {% endblock %} + + {% include 'hyperkitty/bottom.html' %} + + + diff --git a/hyperkitty/templates/hyperkitty/navbar-brand.html b/hyperkitty/templates/hyperkitty/navbar-brand.html new file mode 100644 index 0000000..be92db7 --- /dev/null +++ b/hyperkitty/templates/hyperkitty/navbar-brand.html @@ -0,0 +1,5 @@ +{% load static %} + + +Boost logo + diff --git a/hyperkitty/templates/hyperkitty/navbar-brand.html.original b/hyperkitty/templates/hyperkitty/navbar-brand.html.original new file mode 100644 index 0000000..a093c83 --- /dev/null +++ b/hyperkitty/templates/hyperkitty/navbar-brand.html.original @@ -0,0 +1 @@ +{{ site_name }} diff --git a/postorius/static/postorius/css/style.css b/postorius/static/postorius/css/style.css new file mode 100644 index 0000000..85fe05a --- /dev/null +++ b/postorius/static/postorius/css/style.css @@ -0,0 +1,184 @@ +/* Sticky footer: http://getbootstrap.com/examples/sticky-footer/ */ +html { + position: relative; + min-height: 100%; + /* This mostly makes sure that the font size doesn't change with + bump to Bootstrap 4, which has a default HTML level font-size + of 16px rem. */ + font-size: 14px; + font-family: "Helvetica Neue", sans-serif; +} + +body { + margin-bottom: 90px; + background-color: rgb(229 231 235); + color: rgb(49, 74, 87); +} +.footer { + position: absolute; + bottom: 0; + width: 100%; + height: 60px; + background-color: rgb(229 231 235); + border-top: 1px solid #e7e7e7; + border-radius: 4px; + padding-top: 20px; +} +/* ---- */ + +.margin-bottom { + margin-bottom: 1em; +} + +form.bans-add-form { + margin-bottom: 2.5rem; +} +table.bans-current { + width: auto; +} + + +/* Header matches */ + +table.header-matches th .text-muted { + font-weight: normal; + font-size: small; +} +table.header-matches td .errorlist { + list-style-type: none; + padding: 0; + margin: 0; +} +.header-matches-pending-changes { + display: none; + margin-left: 1rem; +} + +.page-header{ + margin-bottom: 20px; + border-bottom: 1px solid #eee; + padding-bottom: 9px; + font-size: 175%; +} + +.page-header h1 { + margin-top: 0px; + padding-top: 0px; +} + +header, #header-nav { + max-width: 1280px; + margin: 0 auto; +} + +/* Improve contrast per accessibility guidelines */ +header.navbar { + background-color: rgb(229 231 235); + border-bottom: 2px solid rgb(209, 213, 219); + padding: 0; +} + +.boost-nav { + margin-top: 6px; +} +.boost-nav .nav-item a:hover { + color: rgb(255 159 0); +} + +.boost-nav .nav-item { + line-height: 14px; + margin-right: 25px !important; +} + +.navbar-default .navbar-brand { + color: rgb(49, 74, 87); +} +.navbar-default a.nav-link { + color: rgb(49, 74, 87); +} +.navbar-default .fa-bars { + color: rgb(49, 74, 87); +} +.navbar-brand img { + height: 25px; + margin-right: 25px; +} +.navbar-default .navbar-nav > li > a { + color: rgb(49, 74, 87); + font-weight: 400; + line-height: 1.4; +} +.h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, .h4 .small, .h4 small, .h5 .small, .h5 small, .h6 .small, .h6 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small, h4 .small, h4 small, h5 .small, h5 small, h6 .small, h6 small { + color: #666; +} +a { + color: rgb(2, 132, 199); +} +a:hover { + color: rgb(255, 159, 0); +} +.btn-danger { + background-color: #c8423e; +} +.btn-success, .btn-success:hover { + background-color: rgb(156, 163, 175); + border-color: rgb(229, 231, 235); +} +.btn-warning { + background-color: #A4660E; +} +.btn-primary { + background-color: rgb(255, 159, 0); + border-color: rgb(255, 159, 0); +} +.btn-primary:hover { + background-color: rgba(255, 159, 0, 0.8); + border-color: rgb(255, 159, 0); +} +.alert-success { + color: #294C29; +} +.alert-danger { + color: #773231; +} + +h1, h2, h3, h4, h5, h6, h7 { + margin-bottom: 10px; + margin-top: 20px; +} + +.current-role { + font-size: 120%; + font-weight: 110%; + text-align: center; + /* padding-left: 15px; */ +} + +ul.horizontal-list { + list-style: none; + padding-inline-start: 0px; + padding-bottom: 0px; + margin-bottom: 0px; + height: 100%; +} + +ul.horizontal-list li { + display: inline; +} + +.username { + font-weight: 400; +} + +button.user-button { + background-color: inherit; + border: none; +} + +/* Disable the black border on the navbar toggler + when it is in focus. */ +.navbar-toggler:focus, +.navbar-toggler:active, +.navbar-toggler-icon:focus { + color: white; +} diff --git a/postorius/static/postorius/css/style.css.original b/postorius/static/postorius/css/style.css.original new file mode 100644 index 0000000..0d30e70 --- /dev/null +++ b/postorius/static/postorius/css/style.css.original @@ -0,0 +1,154 @@ +/* Sticky footer: http://getbootstrap.com/examples/sticky-footer/ */ +html { + position: relative; + min-height: 100%; + /* This mostly makes sure that the font size doesn't change with + bump to Bootstrap 4, which has a default HTML level font-size + of 16px rem. */ + font-size: 14px; +} + +body { + margin-bottom: 90px; +} +.footer { + position: absolute; + bottom: 0; + width: 100%; + height: 60px; + background-color: #f8f8f8; + border-top: 1px solid #e7e7e7; + border-radius: 4px; + padding-top: 20px; +} +/* ---- */ + +.margin-bottom { + margin-bottom: 1em; +} + +form.bans-add-form { + margin-bottom: 2.5rem; +} +table.bans-current { + width: auto; +} + + +/* Header matches */ + +table.header-matches th .text-muted { + font-weight: normal; + font-size: small; +} +table.header-matches td .errorlist { + list-style-type: none; + padding: 0; + margin: 0; +} +.header-matches-pending-changes { + display: none; + margin-left: 1rem; +} + +.page-header{ + margin-bottom: 20px; + border-bottom: 1px solid #eee; + padding-bottom: 9px; + font-size: 175%; +} + +.page-header h1 { + margin-top: 0px; + padding-top: 0px; +} + +/* Improve contrast per accessibility guidelines */ +header.navbar { + background-color: rgb(8, 109, 215); + min-height: 59px; +} + +.navbar-default .navbar-brand { + color: white; +} +.navbar-default a.nav-link { + color: white; +} +.navbar-default .fa-bars { + color: white; +} +.navbar-brand img { + height: 35px; +} +.navbar-default .navbar-nav > li > a { + color: white; + font-weight: 400; + line-height: 1.4; +} +.h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, .h4 .small, .h4 small, .h5 .small, .h5 small, .h6 .small, .h6 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small, h4 .small, h4 small, h5 .small, h5 small, h6 .small, h6 small { + color: #666; +} +a { + color: #2269a6; +} +.btn-danger { + background-color: #c8423e; +} +.btn-success { + background-color: #298529; +} +.btn-warning { + background-color: #A4660E; +} +.alert-success { + color: #294C29; +} +.alert-danger { + color: #773231; +} + +/* .navbar-default { + margin-bottom: 20px; +} */ + +h1, h2, h3, h4, h5, h6, h7 { + margin-bottom: 10px; + margin-top: 20px; +} + +.current-role { + font-size: 120%; + font-weight: 110%; + text-align: center; + /* padding-left: 15px; */ +} + +ul.horizontal-list { + list-style: none; + padding-inline-start: 0px; + padding-bottom: 0px; + margin-bottom: 0px; + height: 100%; +} + +ul.horizontal-list li { + display: inline; +} + +.username { + font-weight: 400; +} + +button.user-button { + background-color: inherit; + border: none; +} + +/* Disable the black border on the navbar toggler + when it is in focus. */ +.navbar-toggler:focus, +.navbar-toggler:active, +.navbar-toggler-icon:focus { + color: white; +} \ No newline at end of file diff --git a/postorius/static/postorius/img/Boost_Brandmark_BlackBoost_Transparent.svg b/postorius/static/postorius/img/Boost_Brandmark_BlackBoost_Transparent.svg new file mode 100644 index 0000000..09ce682 --- /dev/null +++ b/postorius/static/postorius/img/Boost_Brandmark_BlackBoost_Transparent.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/postorius/static/postorius/img/Boost_Brandmark_WhiteBoost_Transparent.svg b/postorius/static/postorius/img/Boost_Brandmark_WhiteBoost_Transparent.svg new file mode 100644 index 0000000..0893f9b --- /dev/null +++ b/postorius/static/postorius/img/Boost_Brandmark_WhiteBoost_Transparent.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/postorius/static/postorius/img/Boost_Symbol_Transparent.svg b/postorius/static/postorius/img/Boost_Symbol_Transparent.svg new file mode 100755 index 0000000..f9c7f76 --- /dev/null +++ b/postorius/static/postorius/img/Boost_Symbol_Transparent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/postorius/static/postorius/img/logo2010-2.jpg b/postorius/static/postorius/img/logo2010-2.jpg new file mode 100644 index 0000000..edd5e37 Binary files /dev/null and b/postorius/static/postorius/img/logo2010-2.jpg differ diff --git a/postorius/templates/postorius/base.html b/postorius/templates/postorius/base.html new file mode 100644 index 0000000..49cafcd --- /dev/null +++ b/postorius/templates/postorius/base.html @@ -0,0 +1,241 @@ +{% load i18n %} +{% load static %} +{% load p_gravatar %} + + + + + + + {% block head_title %}{{ site_name }}{% endblock %} + +{# #} + + + + + {% block additionalcss %}{% endblock %} + + + + + + + + +
+ {% for message in messages %} + + {% endfor %} + +
+ {% block content %}{% endblock content %} +
+
+ + + + + + + + + {% block additionaljs %}{% endblock %} + + diff --git a/postorius/templates/postorius/base.html.original b/postorius/templates/postorius/base.html.original new file mode 100644 index 0000000..1a6c3b6 --- /dev/null +++ b/postorius/templates/postorius/base.html.original @@ -0,0 +1,224 @@ +{% load i18n %} +{% load static %} +{% load p_gravatar %} + + + + + + + {% block head_title %}{{ site_name }}{% endblock %} + + + + + + {% block additionalcss %}{% endblock %} + + + + + + +
+ {% for message in messages %} + + {% endfor %} + {% block content %}{% endblock content %} +
+ + + + + + + + + {% block additionaljs %}{% endblock %} + + diff --git a/postorius/templates/postorius/lists/held_messages.html b/postorius/templates/postorius/lists/held_messages.html new file mode 100644 index 0000000..7db2e54 --- /dev/null +++ b/postorius/templates/postorius/lists/held_messages.html @@ -0,0 +1,143 @@ +{% extends "postorius/base.html" %} +{% load i18n %} +{% load nav_helpers %} +{% load date_helpers %} +{% load tz %} +{% load pagination %} +{% load static %} + +{% block head_title %} +{% trans 'Held messages' %} | {{ list.fqdn_listname }} - {{ block.super }} +{% endblock %} + +{% block content %} + + {% list_nav 'list_held_messages' 'msgid:title:list_held_messages' %} + + {% if held_messages|length > 0 %} +
+ {% if form.choices.errors %} + {% for error in form.choices.errors %} +
{{ error }}
+ {% endfor %} + {% endif %} + {% csrf_token %} +
+
{% trans 'Perform action on selected messages' %}
+
+ + + +
+
+
{% trans "Click the message's subject for more options." %} +
+
+ + + + + + + + + + + + {% for msg in held_messages %} + + + + + + + + {% endfor %} + +
{% trans 'Subject' %}{% trans 'Sender' %}{% trans 'Reason' %}{% trans 'Hold Date' %}
+ + {% if msg.subject %} + {{ msg.subject }} + {% else %} + {% trans 'No Subject' %} + {% endif %} + + + {{ msg.sender }}{{ msg.reason }}{{ msg.hold_date|datetime_parse|localtime|date:"DATETIME_FORMAT"}}
+
+
+ {% paginator held_messages %} + + {% else %} +

{% trans 'There are currently no held messages.' %}

+ {% endif %} +{% endblock %} + +{% block additionaljs %} + + +{% endblock %} diff --git a/postorius/templates/postorius/lists/held_messages.html.original b/postorius/templates/postorius/lists/held_messages.html.original new file mode 100644 index 0000000..7b61a60 --- /dev/null +++ b/postorius/templates/postorius/lists/held_messages.html.original @@ -0,0 +1,146 @@ +{% extends "postorius/base.html" %} +{% load i18n %} +{% load nav_helpers %} +{% load date_helpers %} +{% load tz %} +{% load pagination %} +{% load static %} +{% load humanize%} + +{% block head_title %} +{% trans 'Held messages' %} | {{ list.fqdn_listname }} - {{ block.super }} +{% endblock %} + +{% block content %} + + {% list_nav 'list_held_messages' 'msgid:title:list_held_messages' %} + + {% if held_messages|length > 0 %} +
+ {% if form.choices.errors %} + {% for error in form.choices.errors %} +
{{ error }}
+ {% endfor %} + {% endif %} + {% csrf_token %} +
+
{% trans 'Perform action on selected messages' %}
+
+ + + +
+
+
{% trans "Click the message's subject for more options." %} +
+
+ + + + + + + + + + + + + {% for msg in held_messages %} + + + + + + + + + {% endfor %} + +
{% trans 'Subject' %}{% trans 'Sender' %}{% trans 'Reason' %}{% trans 'Size' %}{% trans 'Hold Date' %}
+ + {% if msg.subject %} + {{ msg.subject }} + {% else %} + {% trans 'No Subject' %} + {% endif %} + + + {{ msg.sender }}{{ msg.reason }}{{ msg.msg|length|filesizeformat }}{{ msg.hold_date|datetime_parse|localtime|date:"DATETIME_FORMAT"}}
+
+
+ {% paginator held_messages %} + + {% else %} +

{% trans 'There are currently no held messages.' %}

+ {% endif %} +{% endblock %} + +{% block additionaljs %} + + +{% endblock %}