diff --git a/archetypes/weekly.md b/archetypes/weekly.md new file mode 100644 index 0000000..8709f0b --- /dev/null +++ b/archetypes/weekly.md @@ -0,0 +1,89 @@ +--- +type: weekly +layout: weekly + +date: "{{ .Date }}" +issuenumber: {{ len (readDir "content/weekly") }} +title: "Issue {{ len (readDir "content/weekly") }}: {{ dateFormat "January 02" .Date }} - {{ dateFormat "02, 2006" ((.Date | time.AsTime).AddDate 0 0 7) }}" +--- + +### Table of Contents: + +- [Recent News](#news) +- [Upcoming Events](#events) +- [CCS Proposals](#proposals) +- [Price & Blockchain Stats](#stats) +- [Volunteer Opportunities](#volunteer) +- [Donate](#donate) + +### Recent News + +{{% newsbyte %}} +Haveno DEX [v1.0.8](https://github.com/haveno-dex/haveno/releases/tag/1.0.8) adding scripts to run Haveno on Tails OS; miscellaneous translations; general enhancements and a few bug fixes. Haveno Reto [v1.0.8](https://github.com/retoaccess1/haveno-reto/releases/tag/v1.0.8). +{{% /newsbyte %}} + +### Upcoming Events + +{{% event "July 1, 2024 (Monday) - 18:00 UTC" %}} +Seraphis Wallet Workgroup Meeting - [#no-wallet-left-behind](irc://irc.libera.chat/#no-wallet-left-behind) IRC channel; Matrix [room](https://matrix.to/#/#no-wallet-left-behind:monero.social). +{{% /event %}} + +### CCS Proposal Ideas + +Below you can find some CCS proposal ideas open for discussion. + +{{% ccs_item link="jeffro256-full-time-2024Q3" author="jeffro256" %}} +full-time development 2024Q3 +{{% /ccs_item %}} + +### CCS Proposals Need Funding + +{{% ccs_item link="jeffro256-full-time-2024Q3" author="jeffro256" goal=146 raised=30.04 %}} +full-time development 2024Q3 +{{% /ccs_item %}} + +### Price & Blockchain Stats + +###### Blockchain Stats + +{{< bc_stats + height="0" + hashrate="0 GH/s" + txs_per_block="0" + avg_txs_per_day="0" + block_reward="0.6" + + date="January 1, 2024" +>}} + +###### XMR Blocks Distribution in last 1000 blocks + +![Hashrate Pool Distribution Pie Chart](./hash.png) + +###### Price & Performance + +{{< price_performance + market_cap="3,209,863,981" + street_price="190.07" + + table_date="06/13/24" + price_usd="173.67,+5.4,+29.9,+24.7" + price_eur="160.61,+6.8,+30.9,+25.4" + price_btc="0.00258,+12.4,+19.8,-51.9" + + date="June 6, 2024" +>}} + +###### XMR Price Graph + +![XMR Price Graph](./price.png) + +Sources: [miningpoolstats.stream](https://miningpoolstats.stream/monero); [bitinfocharts.com](https://bitinfocharts.com/monero/); [coingecko.com](https://www.coingecko.com/en/coins/monero); [localmonero.co blocks](https://localmonero.co/blocks); [monero.boats](https://monero.boats/). + +{{< volunteer >}} +{{% volunteer_item title="Test Monero Core Software" link="https://github.com/monero-project/monero" %}} +Anyone with moderate technical ability is encouraged to try to build and run Monero nightlies. Do not trust it with your Monero, but feel free to open an Issue on GitHub as problems arise. Instructions to build on your OS of choice can be found here. +{{% /volunteer_item %}} +{{< /volunteer >}} + +{{< support />}} \ No newline at end of file diff --git a/assets/css/base.scss b/assets/css/base.scss new file mode 100644 index 0000000..15a351e --- /dev/null +++ b/assets/css/base.scss @@ -0,0 +1,75 @@ +/* + * Emerald is a simple blog theme built for Jekyll. + */ + +/*- Base reset -*/ + +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +html, +body, +h1, +h2, +h3, +h4, +h5, +h6, +p, +ul, +ol, +li, +img { + margin: 0; + padding: 0; + border: 0; +} + +/*- Base color -*/ + +$main-color: #E9E9E9; +$background-color: #0F0F0F; +$text-color: #888888; + +/*- Base settings -*/ + +html { + background-color: $background-color; + font-size: 16px; + scroll-behavior: smooth; + + @media (min-width: 940px) { + font-size: 18px; + } + + line-height: 1.5; + color: $text-color; +} + + +/*- Link -*/ +a { + color: $main-color; + outline: 0; + border-bottom: 2px dotted #6a6d72; + text-decoration: none; + font-weight: 700; + -webkit-transition: all .3s ease; + -moz-transition: all .3s ease; + -ms-transition: all .3s ease; + -o-transition: all .3s ease; + transition: all .3s ease; + + &:hover, + &:focus { + color: #999999; + border-bottom: 2px dotted #333333; + } +} + +a#nav-menu { + border-bottom: none; +} \ No newline at end of file diff --git a/assets/css/custom.scss b/assets/css/custom.scss new file mode 100644 index 0000000..b35cf97 --- /dev/null +++ b/assets/css/custom.scss @@ -0,0 +1,417 @@ +p.note { + font-size: 0.7em; + margin-bottom: 1rem; + margin-top: -1rem; +} + +.bcstats { + background-color: var(--block-bg-color); + margin-bottom: 1.3334rem; + border-radius: 2px; +} + +.bcstats p { + padding: 1em; + margin: 0; +} + +.bcstats p:nth-child(even) { + background-color: var(--blog-bg-color-secondary); +} + +$breakpoint-alpha: 480px; // adjust to your needs + +p.table-title { + margin: 0; + padding-bottom: 0.5em; + font-weight: 700; + font-size: 16px; + padding-top: 0.5em; +} + +.price-table, +.moneroversary-table { + margin: 0 0 1.3334rem 0; + width: 100%; // adjust to your needs + background: #45494f; + color: #efefef; + border-radius: 2px; + overflow: hidden; + border-spacing: 0; + background-color: var(--block-bg-color); + + @media (min-width: $breakpoint-alpha) { + color: #45494f; + + tr.row3 { + background-color: var(--blog-bg-color-secondary); + } + } + + tr { + border-top: 2px solid #fff; + border-bottom: 2px solid #fff; + } + + + + tr.row1 { + background-color: var(--block-bg-color-heading); + } + + th { + display: none; + } + + td { + display: block; + + &:first-child { + padding-top: .5em; + } + + &:last-child { + padding-bottom: .5em; + } + + &:before { + content: attr(data-th)": "; // who knew you could do this? The internet, that's who. + font-weight: bold; + + // optional stuff to make it look nicer + width: 6.5em; // magic number :( adjust according to your own content + display: inline-block; + // end options + + @media (min-width: $breakpoint-alpha) { + display: none; + } + } + } + + th, + td { + text-align: left; + margin: .5em 1em; + + @media (min-width: $breakpoint-alpha) { + display: table-cell; + padding: .25em .5em; + padding: 1em !important; + + &:first-child { + padding-left: 0; + } + + &:last-child { + padding-right: 0; + } + } + + } + + th, + td:before { + color: var(--link-color); + } + + td.green { + color: #66d166; + + @media (min-width: $breakpoint-alpha) { + color: #51a751; + } + } + + td.red { + color: #e36f6e; + + @media (min-width: $breakpoint-alpha) { + color: #d83231; + } + } + +} + +.moneroversary-table { + margin: 1.3334rem 0 1.3334rem 0; + + @media (max-width: $breakpoint-alpha) { + background: #f0f0f0; + color: #45494f; + } + + th, + td:before { + @media (max-width: $breakpoint-alpha) { + color: #45494f; + } + } +} + +.moneroversary-table tr.row1 { + background-color: #db8b55; +} + +.content h3 { + margin-top: 3rem; + background-color: #45494f; + color: white; + padding-left: 1rem; + margin-bottom: 1rem; + border-radius: 2px; +} + +.content h3.orange { + background-color: #db8b55; +} + +.content ul, +.content ol { + line-height: 1.9; +} + +.newsbyte, +.event { + padding: 1rem; + background-color: var(--block-bg-color); + margin-top: 1rem; +} + +.newsbyte:first-of-type, +.event:first-of-type { + margin-top: 0; +} + +.newsbyte:after { + display: none; + content: ''; + width: 100%; + height: 1px; + margin-top: 2rem; + background-color: #d5d5d5; +} + +.newsbyte h4, +h4.stat { + font-size: 18px; + font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; + font-weight: 700; + + @media (max-width: 480px) { + font-size: 16px; + } +} + +h6 { + font-size: 18px; + font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; + font-weight: 700; + + @media (max-width: 480px) { + font-size: 16px; + } +} + +.newsbyte p, +.event p { + margin-bottom: 0; +} + +p.date { + margin-bottom: 0.2em; + font-weight: 700; +} + +.proposal { + margin-bottom: 1rem; + padding: 1em; + background-color: var(--block-bg-color); +} + +.proposal p { + margin-bottom: 0; +} + +.proposal p:first-child { + padding-bottom: 0.5rem; +} + +.proposal p a { + line-height: 1.7; +} + +img.merchant-img { + width: 15rem; + margin: 0 0 24px 0; +} + +img#pepperworks { + margin-top: 40px; +} + +img#openpriv { + margin-bottom: 0; +} + +img#veracrypt { + width: 10rem; + margin-top: 40px; +} + +p.address { + background-color: var(--block-bg-color); + color: var(--link-color); + font-weight: bold; + word-wrap: break-word; + padding: 1.5rem; + margin-top: 1.5rem; + border-radius: 2px; + -webkit-touch-callout: all; + -webkit-user-select: all; + -khtml-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + user-select: all; +} + +a.qr { + display: inline-block; + border: none; + border-radius: 10px; +} + +a.qr img { + margin-bottom: 0; + vertical-align: middle; +} + +img.merchant-img { + margin-left: auto; + margin-right: auto; +} + +img.fob-img { + margin-left: auto; + margin-right: auto; + width: 8rem; + background-color: rgba(0, 0, 0, 0.75); + ; + padding: 1rem; +} + +img.wikileaks-img { + margin-left: auto; + margin-right: auto; + width: 10rem; +} + +img#njalla { + background-color: #01051F; + padding: 1rem; +} + +p.text-lead { + margin-bottom: 0; +} + +#post-page img.img-lead, +#post-page p.text-lead { + display: none; +} + +img.gratuitas { + width: 10rem; +} + +img.localmonero { + width: 10rem; + margin-bottom: -1rem; +} + +.sponsors { + box-sizing: border-box; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + text-align: center; +} + +.sponsor { + box-sizing: border-box; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + flex-basis: auto; + + @media (max-width: 520px) { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + max-width: 100%; + } +} + +img.dvchain { + height: 9rem; + margin-left: 3rem; + + @media (max-width: 520px) { + margin-left: auto; + margin-top: 1rem; + height: auto; + width: 13rem; + } +} + +// Periodical + +.revuo-classes a { + padding: 1rem 2rem; + width: 11rem; +} + +.nav-active { + color: var(--head-nav-text-color) !important; +} + +// Typography for Periodical + +.hted-head { + margin: 2.5rem 0 1.3334rem 0; + background: #d9dadb; + color: #222222; + width: 100%; + border-radius: 2px; + padding: 1em; + text-align: left; +} + +#post-page h2 { + line-height: 1.3; +} + +.text-center { + text-align: center; +} + +.page-numbers-display { + display: inline-block; + margin-left: 1rem; + margin-right: 1rem; +} + +html { + scroll-behavior: smooth; +} \ No newline at end of file diff --git a/assets/css/layout.scss b/assets/css/layout.scss new file mode 100644 index 0000000..87c603b --- /dev/null +++ b/assets/css/layout.scss @@ -0,0 +1,397 @@ +/* -- General Layout -- */ + +/* Required for footer to stick to the bottom */ +html, +body { + height: 100%; +} + +/* Navigation */ + +#nav, +#nav-left { + a { + display: block; + color: $background-color; + padding: 0.33334em 0; + font-size: 1.5em; + font-weight: 400; + border-bottom: none; + + @media (min-width: 940px) { + font-size: 1em; + } + + &:hover { + background-color: lighten($main-color, 5%); + } + } + + span { + font-weight: 200; + } +} + +#nav { + @include nav-position(right); +} + +#nav-left { + @include nav-position(left); +} + +/* Toggle class to open menu */ + +#nav.menu-open { + @include open(-14rem); +} + +#nav-left.menu-open-left { + @include open(14rem); +} + +#nav-list { + + .nav-actions-static { + position: absolute; + right: 1px; + left: 1px; + bottom: 1%; + } + + .nav-actions-static, + .nav-actions-flex { + gap: 12px; + justify-content: center; + align-items: center; + /* only *-flex will be overritten if the screen is small */ + display: flex; + + .icon { + padding: 0; + + >img { + margin-bottom: 0; + } + } + } + + /* Separator after menu */ + &:after { + display: block; + content: ''; + width: 5rem; + height: 1px; + margin: 23px auto; + background-color: $background-color; + } +} + + + +/* Icon menu */ + +#nav-menu { + @include icon-position(right); +} + +#nav-menu-left { + @include icon-position(left); +} + +#menu { + height: 4px; + width: 1.5em; + background-color: lighten($text-color, 35%); + margin-top: 8px; + + &:after, + &:before { + content: ""; + display: block; + position: relative; + height: 4px; + width: 1.5em; + background-color: lighten($text-color, 35%); + transition: all 0.3s ease-in; + } + + &:before { + top: -8px; + } + + &:after { + top: 4px; + } + + &.btn-close { + background: none; + } + + &.btn-close:before { + top: 0; + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + transform: rotate(-45deg); + background-color: $background-color; + } + + &.btn-close:after { + top: -4px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + background-color: $background-color; + } +} + +/* Main content */ + +.fixed { + position: fixed; + width: 100%; + + @media (min-width: 940px) { + position: static; + } +} + +#container { + margin: 0 auto; + max-width: 730px; + padding: 0 1.5rem; +} + +#header { + text-align: center; + padding: 24px 0; + position: relative; + margin-bottom: 23px; + + @media (max-width: 480px) { + padding-top: 10px; + } + + a { + text-decoration: none; + color: $text-color; + display: inline-block; + border-bottom: none; + } + + img { + max-height: 100px; + margin: 0 auto; + display: block; + + @media (max-width: 940px) { + max-height: 90px; + } + + @media (max-width: 600px) { + max-height: 60px; + } + + @media (max-width: 480px) { + max-height: 50px; + } + } + + h1 { + font-family: 'Bebas Neue', sans-serif; //Emerald logo font + font-weight: 400; + font-size: 4.5em; + color: #d26e2b; + + @media (max-width: 940px) { + padding: 0; + } + + @media (max-width: 600px) { + font-size: 3em; + } + + @media (max-width: 480px) { + font-size: 2.5em; + } + } + + &:after { + display: none; + content: ''; + width: 5rem; + height: 1px; + margin: 23px auto; + background-color: lighten($text-color, 70%); + + @media (max-width: 480px) { + margin: 0.5rem auto; + } + } + + @media (max-width: 600px) { + padding-bottom: 0; + } +} + +/* Posts */ + +#posts { + li { + list-style-type: none; + padding-bottom: 0.66667em; + } +} + +#post-page { + margin-bottom: 1.5em; + + @media (min-width: 940px) { + margin-bottom: 1.3334em; + } +} + +.post+.post:before { + display: block; + content: ''; + width: 5rem; + height: 1px; + margin: 23px auto; + background-color: lighten($background-color, 70%) !important; +} + +.by-line { + display: block; + color: lighten($text-color, 25%); + line-height: 1.5em; + /* 24px/16px */ + margin-bottom: 1.5em; + /* 24px/16px */ + padding-top: 0.5em; + font-weight: 200; + + @media (min-width: 940px) { + display: block; + color: lighten($text-color, 25%); + line-height: 1.3334em; + /* 24px/18px */ + margin-bottom: 1.3334em; + /* 24px/18px */ + font-weight: 200; + } +} + +.by-line-post { + display: block; + color: lighten($text-color, 25%); + line-height: 1.5em; + /* 24px/16px */ + padding-top: 0.5em; + font-weight: 200; + + @media (min-width: 940px) { + display: block; + color: lighten($text-color, 25%); + line-height: 1.3334em; + /* 24px/18px */ + margin-bottom: 1.3334em; + /* 24px/18px */ + font-weight: 200; + } +} + +img { + max-width: 100%; + display: block; + margin: 0 auto; + margin-bottom: 24px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + border-radius: 4px; +} + +img[title="Emerald"] { + box-shadow: 0 2px 6px #ddd; +} + +code { + color: lighten($text-color, 35%); + background-color: lighten($background-color, 35%); +} + +/* Set the vertical rhythm (and padding-left) for lists inside post content */ + +.content ul, +.content ol { + line-height: 1.5em; + /* 24px/16px */ + padding-left: 1.5em; + + @media (min-width: 940px) { + line-height: 1.33334em; + /* 24px/18px */ + } +} + +/* Paginator */ + +.pagination { + text-align: center; + margin: 2.666668em; + + span { + background-color: darken($background-color, 5%); + color: $text-color; + } + + a:hover { + background-color: lighten($main-color, 5%); + } +} + +.page-item { + background-color: $main-color; + color: $background-color; + padding: 4px 8px; + font-weight: 400; + padding: 0.5em 1em; + border-bottom: none; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + border-radius: 4px; +} + +.page-item:hover, +.page-item:active, +.page-item:focus { + border-bottom: none; +} + +/* Footer */ + +footer { + background-color: $main-color; + color: $background-color; + text-align: center; + padding: 0.6667em 0; +} + +#wrap { + min-height: 100%; + position: relative; + padding-bottom: 140px; +} + +.footer { + padding: 25px 0; + background-color: $main-color; + color: $background-color; + text-align: center; + position: absolute; + width: 100%; + bottom: 0; +} diff --git a/assets/css/main.scss b/assets/css/main.scss new file mode 100644 index 0000000..19ef2e3 --- /dev/null +++ b/assets/css/main.scss @@ -0,0 +1,181 @@ +//Import +@import "base", "mixin", "typography", "layout", "syntax.scss", "custom.scss"; + +// Default Style (Dark) +:root { + --primary-color: #888888; + --secondary-color: #666666; + --font-color: #cecece; + --link-color: #e6e6e6; + --bg-color: #0f0f0f; + --heading-color: #454545; + --block-bg-color: #2f3234; + --block-bg-color-secondary: #444444; + --block-bg-color-heading: #333333; + --table-color: #cecece; + --head-nav-bg-color: transparent; + --head-nav-text-color: #d56f2a; + --menu-color: #e1e1e1; + --license-color: #666666; +} + +.nojs-toggle { + display: none; +} + +// BEGIN theme switcher +#main-theme-switcher { + left: 25px; + top: 35px; + z-index: 999; + display: block !important; + position: absolute !important; + transition: all .3s ease; +} + +#theme-switcher:checked~* { + --primary-color: #666666; + --secondary-color: #555555; + --font-color: #555555; + --link-color: #444444; + --bg-color: #f0f0f0; + --heading-color: #666666; + --block-bg-color: #d7d7d7; + --block-bg-color-secondary: #c0c0c0; + --block-bg-color-heading: #a5a5a5; + --table-color: #000000; + --head-nav-bg-color: transparent; + --head-nav-text-color: #d56f2a; + --menu-color: #202225; + --license-color: #666666; +} + +#theme-switcher:checked~.switch .slider { + background-color: #d56f2a; +} + +#theme-switcher:checked~.switch .slider::before { + -webkit-transform: translateX(26px); + -moz-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); +} + +@media (max-width: 480px) { + #main-theme-switcher { + top: 19px; + right: 10px; + } +} + +// END theme switcher + +// BEGIN menu toggle +#menu-toggle:checked~#nav { + -webkit-transform: translateX(-14rem); + -moz-transform: translateX(-14rem); + -ms-transform: translateX(-14rem); + transform: translateX(-14rem); + width: 100%; +} + +#menu-toggle:checked~.menu-toggle #menu { + background: none; + transition: all 0.1s ease-in; +} + +#menu-toggle:checked~.menu-toggle #menu::before { + top: 0; + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + transform: rotate(-45deg); + background-color: #0F0F0F; +} + +#menu-toggle:checked~.menu-toggle #menu::after { + top: -4px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + background-color: #0F0F0F; +} + +@media (min-width: 940px) { + #menu-toggle:checked~#nav { + width: 30%; + } + + /* Sets burger menu for small screens */ + #header { + .action-container { + display: flex !important; + } + } + + #nav-list { + .nav-actions-flex { + display: none !important; + } + } +} + +// END menu toggle + +#wrap { + background-color: var(--bg-color); + color: var(--font-color); +} + +h1 { + color: var(--secondary-color); +} + +a { + color: var(--link-color); +} + +.moneroversary-table, +.price-table { + color: var(--table-color); +} + +time.by-line, +p.by-line-post { + color: var(--table-color); +} + +#menu, +#menu::after, +#menu::before { + background-color: var(--menu-color); +} + +#header .action-container { + &--left { + left: 25px; + top: 35px; + } + + &--right { + right: 80px; + top: 35px; + } + + align-items: center; + display: none; + flex-direction: row; + gap: 12px; + height: 36px; + position: absolute; +} + +#header { + + a.rss, + a.donate { + display: block; + padding-bottom: 0; + } +} diff --git a/assets/css/mixin.scss b/assets/css/mixin.scss new file mode 100644 index 0000000..e873ea2 --- /dev/null +++ b/assets/css/mixin.scss @@ -0,0 +1,49 @@ +// -- Mixins -- // + +// Nav menu + +@mixin icon-position($position) { + display: block; + position: absolute; + top: 35px; + #{$position}: 25px; + z-index: 10; + height: 36px; + padding: 8px; + // background-color: rgba(240, 240, 240, .6); + + @media (max-width: 480px) { + top: 15px; + right: 10px; + } +} + +@mixin open($x) { + -webkit-transform: translateX($x); + -moz-transform: translateX($x); + -ms-transform: translateX($x); + transform: translateX($x); + width: 100%; + + @media (min-width: 940px) { + width: 30%; + } +} + +@mixin nav-position($position) { + width: 14rem; + position: fixed; + background-color: $main-color; + top: 0; + bottom: 0; + #{$position}: -14rem; + color: $background-color; + opacity: 0.95; + -webkit-transition: all 0.3s ease-in; + -moz-transition: all 0.3s ease-in; + -ms-transition: all 0.3s ease-in; + transition: all 0.3s ease-in; + z-index: 1; + padding: 72px 0; + text-align: center; +} \ No newline at end of file diff --git a/assets/css/syntax.scss b/assets/css/syntax.scss new file mode 100644 index 0000000..34d12d1 --- /dev/null +++ b/assets/css/syntax.scss @@ -0,0 +1,66 @@ +/* + * A Github stylesheet to highlight code snippet + * https://github.com/mojombo/tpw/blob/master/css/syntax.css + */ + +// .highlight { background-color: #FFF; } +.lineno { color: darken($background-color, 25%); margin-right: 1em; } +.highlight .c { color: #999988; font-style: italic } /* Comment */ +.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.highlight .k { font-weight: bold } /* Keyword */ +.highlight .o { font-weight: bold } /* Operator */ +.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ +.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #aa0000 } /* Generic.Error */ +.highlight .gh { color: #999999 } /* Generic.Heading */ +.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #555555 } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #aaaaaa } /* Generic.Subheading */ +.highlight .gt { color: #aa0000 } /* Generic.Traceback */ +.highlight .kc { font-weight: bold } /* Keyword.Constant */ +.highlight .kd { font-weight: bold } /* Keyword.Declaration */ +.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #009999 } /* Literal.Number */ +.highlight .s { color: #d14 } /* Literal.String */ +.highlight .na { color: #008080 } /* Name.Attribute */ +.highlight .nb { color: #0086B3 } /* Name.Builtin */ +.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ +.highlight .no { color: #008080 } /* Name.Constant */ +.highlight .ni { color: #800080 } /* Name.Entity */ +.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ +.highlight .nn { color: #555555 } /* Name.Namespace */ +.highlight .nt { color: #000080 } /* Name.Tag */ +.highlight .nv { color: #008080 } /* Name.Variable */ +.highlight .ow { font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #009999 } /* Literal.Number.Float */ +.highlight .mh { color: #009999 } /* Literal.Number.Hex */ +.highlight .mi { color: #009999 } /* Literal.Number.Integer */ +.highlight .mo { color: #009999 } /* Literal.Number.Oct */ +.highlight .sb { color: #d14 } /* Literal.String.Backtick */ +.highlight .sc { color: #d14 } /* Literal.String.Char */ +.highlight .sd { color: #d14 } /* Literal.String.Doc */ +.highlight .s2 { color: #d14 } /* Literal.String.Double */ +.highlight .se { color: #d14 } /* Literal.String.Escape */ +.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ +.highlight .si { color: #d14 } /* Literal.String.Interpol */ +.highlight .sx { color: #d14 } /* Literal.String.Other */ +.highlight .sr { color: #009926 } /* Literal.String.Regex */ +.highlight .s1 { color: #d14 } /* Literal.String.Single */ +.highlight .ss { color: #990073 } /* Literal.String.Symbol */ +.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #008080 } /* Name.Variable.Class */ +.highlight .vg { color: #008080 } /* Name.Variable.Global */ +.highlight .vi { color: #008080 } /* Name.Variable.Instance */ +.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ diff --git a/assets/css/typography.scss b/assets/css/typography.scss new file mode 100644 index 0000000..51a6005 --- /dev/null +++ b/assets/css/typography.scss @@ -0,0 +1,202 @@ +/*- Typography -*/ +// +// Based on the typographic scale: 12, 14, 16, 18, 21, 24, 36, 48, 60, 72. +// + +@font-face { + font-family: 'Bebas Neue'; + src: url('../font/BebasNeue-Regular.woff') format('woff'), + /* Pretty Modern Browsers */ +} + +body { + font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; + letter-spacing: 0.01em; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; +} + +/*- Typography for medium and small screen, based on 16px font-size -*/ + +p, +ul, +ol { + font-size: 18px; + line-height: 1.7em; + /* 24px/16px */ + margin-bottom: 1.5em; + /* 24px/16px */ +} + +h1 { + font-size: 2.25em; + /* 36px/16px */ + line-height: 1.3333em; + /* 48px/36px */ + padding: 0.33335em 0; + /* 12px/36px * 2 (Use padding instead of margin to maintain proximity with paragraph) */ + font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; +} + +h2 { + font-size: 1.5em; + /* 24px/16px */ + line-height: 1.5em; + /* 24px/24px */ + padding: 1em 0 0 0; + /* 12px/24px * 2, only top (Use padding instead of margin to maintain proximity with paragwithph) */ + font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; + + @media (max-width: 480px) { + font-size: 1.6rem; + } +} + +h3 { + font-size: 1.3em; + /* 18px/16px */ + line-height: 1.7em; + /* 24px/18px */ + padding: 0.66667em 0; + /* 12px/18px * 2 (Use padding instead of margin to maintain proximity with paragraph) */ + font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; +} + +.hted-head th { + font-size: 1.1em; +} + +h4, +h5, +h6 { + font-size: 1.125em; + /* 18px/16px */ + line-height: 1.7em; + /* 24px/18px */ + padding: 0.66667em 0; + /* 12px/18px * 2 (Use padding instead of margin to maintain proximity with paragraph) */ + font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; +} + +h5 { + padding-bottom: 0.3em; + font-size: 1.3em; + margin-bottom: 0.5em; +} + +blockquote { + font-style: italic; + margin: 1.5em; + /* 24px/18px */ + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + border-radius: 4px; + background-color: darken($background-color, 5%); + padding: 0 1.5em; + + /* 24px/18px */ + p, + ul, + ol { + padding: 1.5em 0; + /* 24px/18px */ + } +} + +@media (min-width: 520px) { + //Breakpoint set to 940px + + p, + ul, + ol { + font-size: 20px; + line-height: 1.7em; + /* 24px/16px */ + margin-bottom: 1.5em; + /* 24px/16px */ + } + + h3, + h5 { + font-size: 1.5em; + } + + .hted-head th { + font-size: 1.2em; + } + +} + +/*- Typography for big screen, based on 18px font-size -*/ + +@media (min-width: 940px) { + //Breakpoint set to 940px + + p, + ul, + ol { + font-size: 1em; + /* 18px */ + line-height: 1.7em; + /* 24px/18px */ + margin-bottom: 1.3334em; + /* 24px/18px */ + } + + h1 { + font-size: 2.6667em; + /* 48px/18px */ + line-height: 1em; + /* 48px/48px */ + padding: 0.25em 0; + /* 12px/48px * 2 (Use padding instead of margin to maintain proximity with paragraph) */ + } + + h2 { + font-size: 2em; + /* 36px/18px */ + line-height: 1.7em; + /* 48px/36px */ + padding: 0.66667em 0 0 0; + /* 12px/36px * 2, pnly top (Use padding instead of margin to maintain proximity with paragraph) */ + } + + h3, + h4, + h5, + h6 { + font-size: 1.7em; + /* 24px/18px */ + line-height: 1.7em; + /* 24px/24px */ + padding: 0.5em 0; + /* 12px/24px * 2 (Use padding instead of margin to maintain proximity with paragraph) */ + } + + h5 { + padding-bottom: 0; + font-size: 1.5em; + } + + blockquote { + font-style: italic; + margin: 1.3334em; + /* 24px/18px */ + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + border-radius: 4px; + background-color: darken($background-color, 5%); + padding: 0 1.33334em; + + /* 24px/18px */ + p, + ul, + ol { + padding: 1.33334em 0; + /* 24px/18px */ + } + } + +} \ No newline at end of file diff --git a/assets/js/main.js b/assets/js/main.js new file mode 100644 index 0000000..f9b97f3 --- /dev/null +++ b/assets/js/main.js @@ -0,0 +1,93 @@ +// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat +// The above is a GNU LibreJS specific license declaration. The Expat license is the same as the MIT license. +// See: https://www.gnu.org/software/librejs/free-your-javascript.html#magnet-link-license +const themeVariables = [ + // Light theme + [ + { name: 'primary-color', value: '#666666' }, + { name: 'secondary-color', value: '#555555' }, + { name: 'font-color', value: '#555555' }, + { name: 'link-color', value: '#444444' }, + { name: 'bg-color', value: '#f0f0f0' }, + { name: 'heading-color', value: '#666666' }, + { name: 'block-bg-color', value: '#d7d7d7' }, + { name: 'block-bg-color-secondary', value: '#c0c0c0' }, + { name: 'block-bg-color-heading', value: '#a5a5a5' }, + { name: 'table-color', value: '#000000' }, + { name: 'head-nav-bg-color', value: 'transparent' }, + { name: 'head-nav-text-color', value: '#d56f2a' }, + { name: 'menu-color', value: '#202225' }, + { name: 'license-color', value: '#666666' }, + ], + + // Dark theme + [ + { name: 'primary-color', value: '#888888' }, + { name: 'secondary-color', value: '#666666' }, + { name: 'font-color', value: '#cecece' }, + { name: 'link-color', value: '#e6e6e6' }, + { name: 'bg-color', value: '#0f0f0f' }, + { name: 'heading-color', value: '#454545' }, + { name: 'block-bg-color', value: '#2f3234' }, + { name: 'block-bg-color-secondary', value: '#444444' }, + { name: 'block-bg-color-heading', value: '#333333' }, + { name: 'table-color', value: '#cecece' }, + { name: 'head-nav-bg-color', value: 'transparent' }, + { name: 'head-nav-text-color', value: '#d56f2a' }, + { name: 'menu-color', value: '#e1e1e1' }, + { name: 'license-color', value: '#666666' }, + ] +] + +const runThemeSwitcher = () => { + // Saves themes in-between pages to LocalStorage. + const themeSwitcher = document.getElementById('theme-switcher'); + + const setTheme = e => localStorage.setItem('theme', e.target.checked ? 'dark' : 'light'); + const checkTheme = () => themeSwitcher.checked = localStorage.getItem('theme') === 'dark'; + + // Ensures backward compatibility with IE old versions + if (document.addEventListener) { + themeSwitcher.addEventListener('click', setTheme); + } else if (document.attachEvent) { + themeSwitcher.attachEvent('onclick', setTheme); + } + + checkTheme() + + // Make the theme switcher in the hamburger menu on mobile devices work. + if (document.body.clientWidth < 940) { + const themeSwitcherLabel = document.getElementById('main-theme-switcher'); + const navActionsContainer = document.getElementById('nav-actions-flex-container'); + + // Move the theme switcher to inside the hamburger menu. + navActionsContainer.appendChild(themeSwitcher); + navActionsContainer.appendChild(themeSwitcherLabel); + + themeSwitcherLabel.style.top = ''; + themeSwitcherLabel.style.left = '42vw'; + + const checkMobileTheme = () => { + const theme = themeVariables[themeSwitcher.checked ? 1 : 0]; + + theme.forEach(variable => { + document.documentElement.style.setProperty(`--${variable.name}`, variable.value); + }); + }; + + // Ensure IE compatibility + if (document.addEventListener) { + themeSwitcher.addEventListener('change', checkMobileTheme); + } else if (document.attachEvent) { + themeSwitcher.attachEvent('onchange', checkMobileTheme); + } + + checkMobileTheme(); + } +}; + +if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', runThemeSwitcher); +} else if (document.attachEvent) { + document.attachEvent('onDOMContentLoaded', runThemeSwitcher); +} \ No newline at end of file diff --git a/font/BebasNeue-Regular.woff b/font/BebasNeue-Regular.woff new file mode 100644 index 0000000..457f916 Binary files /dev/null and b/font/BebasNeue-Regular.woff differ diff --git a/font/BebasNeue-Regular.woff2 b/font/BebasNeue-Regular.woff2 new file mode 100644 index 0000000..b4099a9 Binary files /dev/null and b/font/BebasNeue-Regular.woff2 differ diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..7302761 --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,26 @@ + + + + {{ partial "head.html" . }} + + + {{ partial "theme-switcher.html" . }} + +
+
+ {{ partial "navigation.html" . }} + {{ partial "header.html" . }} +
+
+ {{ block "main" . }}{{ end }} +
+
+ + {{ partial "footer.html" . }} +
+
+ + \ No newline at end of file diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..87f70b2 --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,23 @@ +{{ define "main" }} + + +{{ partial "pagination.html" . }} +{{ end }} \ No newline at end of file diff --git a/layouts/page/single.html b/layouts/page/single.html new file mode 100644 index 0000000..8f8a354 --- /dev/null +++ b/layouts/page/single.html @@ -0,0 +1,6 @@ +{{ define "main" }} +
+

{{ .Title }}

+ {{ .Content }} +
+{{ end }} \ No newline at end of file diff --git a/layouts/page/support.html b/layouts/page/support.html new file mode 100644 index 0000000..6418141 --- /dev/null +++ b/layouts/page/support.html @@ -0,0 +1,12 @@ +{{ define "main" }} +
+

Support {{ .Params.name }}

+

{{ .Content }}

+ +

+ If you get value out of {{ .Params.name }} and wish to see it continue, + you can send some XMR to this address: +

+ {{ partial "donate.html" . }} +
+{{ end }} \ No newline at end of file diff --git a/layouts/partials/bottom_nav_icons.html b/layouts/partials/bottom_nav_icons.html new file mode 100644 index 0000000..16df091 --- /dev/null +++ b/layouts/partials/bottom_nav_icons.html @@ -0,0 +1,7 @@ +{{ with .Site.Params.bottom_nav_icons }} + {{ range . }} + + {{ .icon_alt }} + + {{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/donate.html b/layouts/partials/donate.html new file mode 100644 index 0000000..303b874 --- /dev/null +++ b/layouts/partials/donate.html @@ -0,0 +1,2 @@ +

{{ .Site.Params.author.monero_address }}

+

{{ $image := resources.Get .Site.Params.author.monero_qr }}Donate XMR

\ No newline at end of file diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..d0225ce --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,58 @@ + diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..328b954 --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,151 @@ + + +{{ .Title }} + + + + + + + + + + + + + + + + + + + + + + +{{- with resources.Get "css/main.scss" }} + {{ $opts := dict "transpiler" "libsass" "targetPath" "css/style.css" }} + {{ with . | toCSS $opts }} + {{ if hugo.IsDevelopment }} + + {{ else }} + {{ with . | minify | fingerprint }} + + {{ end }} + {{ end }} + {{ end }} +{{- end }} + + +{{- with resources.Get "js/main.js" }} + {{- if eq hugo.Environment "development" }} + {{- with . | js.Build }} + + {{- end }} + {{- else }} + {{- $opts := dict "minify" true }} + {{- with . | js.Build $opts | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} + + \ No newline at end of file diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..713ebf5 --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,28 @@ + \ No newline at end of file diff --git a/layouts/partials/nav_links.html b/layouts/partials/nav_links.html new file mode 100644 index 0000000..a77f351 --- /dev/null +++ b/layouts/partials/nav_links.html @@ -0,0 +1,5 @@ +{{ with .Site.Params.nav_links }} + {{ range . }} + {{ .title }} + {{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/navigation.html b/layouts/partials/navigation.html new file mode 100644 index 0000000..d0052f4 --- /dev/null +++ b/layouts/partials/navigation.html @@ -0,0 +1,25 @@ + + + + \ No newline at end of file diff --git a/layouts/partials/pagination.html b/layouts/partials/pagination.html new file mode 100644 index 0000000..0f3f870 --- /dev/null +++ b/layouts/partials/pagination.html @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/layouts/partials/right_icons.html b/layouts/partials/right_icons.html new file mode 100644 index 0000000..ec9f935 --- /dev/null +++ b/layouts/partials/right_icons.html @@ -0,0 +1,8 @@ +{{ with .Site.Params.right_icons }} + {{ range . }} + {{ $target := cond .external "_blank" "_self" }} + + {{ .icon_alt }} + + {{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/theme-switcher.html b/layouts/partials/theme-switcher.html new file mode 100644 index 0000000..443fb70 --- /dev/null +++ b/layouts/partials/theme-switcher.html @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/layouts/periodicals/list.html b/layouts/periodicals/list.html new file mode 100644 index 0000000..a415a9b --- /dev/null +++ b/layouts/periodicals/list.html @@ -0,0 +1,23 @@ +{{ define "main" }} + + +{{ partial "pagination.html" . }} +{{ end }} \ No newline at end of file diff --git a/layouts/periodicals/periodical.html b/layouts/periodicals/periodical.html new file mode 100644 index 0000000..b11d961 --- /dev/null +++ b/layouts/periodicals/periodical.html @@ -0,0 +1,8 @@ +{{ define "main" }} +
+

{{ .Title }}

+ + +{{ .Content }} +
+{{ end }} \ No newline at end of file diff --git a/layouts/periodicals/periodical_old.html b/layouts/periodicals/periodical_old.html new file mode 100644 index 0000000..04b36e7 --- /dev/null +++ b/layouts/periodicals/periodical_old.html @@ -0,0 +1,8 @@ +{{ define "main" }} +
+

{{ .Title }}

+ + +{{ .Content }} +
+{{ end }} \ No newline at end of file diff --git a/layouts/shortcodes/bc_stats.html b/layouts/shortcodes/bc_stats.html new file mode 100644 index 0000000..d00cb41 --- /dev/null +++ b/layouts/shortcodes/bc_stats.html @@ -0,0 +1,9 @@ +
+

Block height: {{ .Get "height" }}

+

Hash rate: {{ .Get "hashrate" }}

+

Average txs. per block: {{ .Get "txs_per_block" }}

+

Weekly Moving Average txs. per day: {{ .Get "avg_txs_per_day" }}

+

Block reward: {{ .Get "block_reward" }} XMR

+
+ +

Data taken on {{ .Get "date" }}.

\ No newline at end of file diff --git a/layouts/shortcodes/ccs_item.html b/layouts/shortcodes/ccs_item.html new file mode 100644 index 0000000..d0c021c --- /dev/null +++ b/layouts/shortcodes/ccs_item.html @@ -0,0 +1,13 @@ +
+

+ + {{ trim .Inner "

\n\r" }} + by {{ .Get "author" }}. +

+ + {{ $goal := .Get "goal" }} + {{ $raised := .Get "raised" }} + {{ with .Get "raised" }} +

Raised {{ $raised }} of {{ $goal }} XMR ({{ div (.) ($goal) | mul 100 | int }}%)

+ {{ end }} +
\ No newline at end of file diff --git a/layouts/shortcodes/event.html b/layouts/shortcodes/event.html new file mode 100644 index 0000000..035914d --- /dev/null +++ b/layouts/shortcodes/event.html @@ -0,0 +1,4 @@ +
+

{{ .Get 0 }}

+

{{ .Inner | markdownify }}

+
\ No newline at end of file diff --git a/layouts/shortcodes/newsbyte.html b/layouts/shortcodes/newsbyte.html new file mode 100644 index 0000000..6ab0dde --- /dev/null +++ b/layouts/shortcodes/newsbyte.html @@ -0,0 +1 @@ +

{{ .Inner | markdownify }}

\ No newline at end of file diff --git a/layouts/shortcodes/price_performance.html b/layouts/shortcodes/price_performance.html new file mode 100644 index 0000000..424f4ec --- /dev/null +++ b/layouts/shortcodes/price_performance.html @@ -0,0 +1,79 @@ +

XMR Market Cap: ${{ .Get "market_cap" }}.

+

Street Price: ${{ .Get "street_price" }}.

+ +{{ $times := slice "Week" "Month" "Year" }} + +

Monero (XMR) Price

+ + {{ $td := .Get "table_date" }} + + + + + + + + + {{ $price := split (.Get "price_usd") "," }} + + + + {{ $week := index $price 1 }} + {{ $month := index $price 2 }} + {{ $year := index $price 3 }} + + {{ $price = slice $week $month $year }} + + {{ range $i, $v := $price }} + {{ $color := "green" }} + {{ if eq (substr $v 0 1) "-" }} + {{ $color = "red" }} + {{ end }} + + + {{ end }} + + + {{ $price := split (.Get "price_eur") "," }} + + + + {{ $week := index $price 1 }} + {{ $month := index $price 2 }} + {{ $year := index $price 3 }} + + {{ $price = slice $week $month $year }} + + {{ range $i, $v := $price }} + {{ $color := "green" }} + {{ if eq (substr $v 0 1) "-" }} + {{ $color = "red" }} + {{ end }} + + + {{ end }} + + + {{ $price := split (.Get "price_btc") "," }} + + + + {{ $week := index $price 1 }} + {{ $month := index $price 2 }} + {{ $year := index $price 3 }} + + {{ $price = slice $week $month $year }} + + {{ range $i, $v := $price }} + {{ $color := "green" }} + {{ if eq (substr $v 0 1) "-" }} + {{ $color = "red" }} + {{ end }} + + + {{ end }} + + +
{{ $td }}WeekMonthYear
USD${{ index $price 0 }}{{ $v }}%
EUR€{{ index $price 0 }}{{ $v }}%
BTC₿{{ index $price 0 }}{{ $v }}%
+ +

Data taken on {{ .Get "date" }}.

\ No newline at end of file diff --git a/layouts/shortcodes/support.html b/layouts/shortcodes/support.html new file mode 100644 index 0000000..477f58d --- /dev/null +++ b/layouts/shortcodes/support.html @@ -0,0 +1,7 @@ +

Support

+Revuo is an audience-funded newsletter. If you enjoy this content, please consider supporting it directly: +{{ partial "donate.html" . }} + +Comments, criticisms, want to share links to be included in future issues? Contact us at rotten at revuo-xmr dot com. + +{{ .Inner }} \ No newline at end of file diff --git a/layouts/shortcodes/volunteer.html b/layouts/shortcodes/volunteer.html new file mode 100644 index 0000000..bf8deeb --- /dev/null +++ b/layouts/shortcodes/volunteer.html @@ -0,0 +1,4 @@ +

Volunteer Opportunities

+If you want to get involved in making Monero better, but aren't sure how, check out some volunteer opportunities. + +{{ .Inner }} \ No newline at end of file diff --git a/layouts/shortcodes/volunteer_item.html b/layouts/shortcodes/volunteer_item.html new file mode 100644 index 0000000..7361f63 --- /dev/null +++ b/layouts/shortcodes/volunteer_item.html @@ -0,0 +1,6 @@ +
+

+ {{ .Get "title" }}

+

{{ .Inner }}

+

+
\ No newline at end of file diff --git a/layouts/weekly/weekly.html b/layouts/weekly/weekly.html new file mode 100644 index 0000000..b11d961 --- /dev/null +++ b/layouts/weekly/weekly.html @@ -0,0 +1,8 @@ +{{ define "main" }} +
+

{{ .Title }}

+ + +{{ .Content }} +
+{{ end }} \ No newline at end of file diff --git a/layouts/weekly/weekly_old.html b/layouts/weekly/weekly_old.html new file mode 100644 index 0000000..04b36e7 --- /dev/null +++ b/layouts/weekly/weekly_old.html @@ -0,0 +1,8 @@ +{{ define "main" }} +
+

{{ .Title }}

+ + +{{ .Content }} +
+{{ end }} \ No newline at end of file diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png new file mode 100644 index 0000000..2cde66b Binary files /dev/null and b/static/android-chrome-192x192.png differ diff --git a/static/android-chrome-512x512.png b/static/android-chrome-512x512.png new file mode 100644 index 0000000..01582a3 Binary files /dev/null and b/static/android-chrome-512x512.png differ diff --git a/static/apple-touch-icon_1.png b/static/apple-touch-icon_1.png new file mode 100644 index 0000000..b41ed76 Binary files /dev/null and b/static/apple-touch-icon_1.png differ diff --git a/static/favicon-16x16_1.png b/static/favicon-16x16_1.png new file mode 100644 index 0000000..caeaf75 Binary files /dev/null and b/static/favicon-16x16_1.png differ diff --git a/static/favicon-32x32_1.png b/static/favicon-32x32_1.png new file mode 100644 index 0000000..2301dcf Binary files /dev/null and b/static/favicon-32x32_1.png differ diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000..ab325d6 Binary files /dev/null and b/static/favicon.ico differ diff --git a/static/site.webmanifest b/static/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/static/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/theme.toml b/theme.toml new file mode 100644 index 0000000..7a0538b --- /dev/null +++ b/theme.toml @@ -0,0 +1,14 @@ +name = 'revuo-xmr' +license = 'AGPLv3' +description = 'Theme for Revuo Monero newsletter' + +[author] + name = 'recanman' + homepage = 'https://github.com/recanman' + +# Originally released under the MIT license. +# Copyright (c) 2015 Jacopo Rabolini +[original] + author = 'KingFelix' + homepage = 'https://www.jacoporabolini.com/emerald/' + repo = 'https://github.com/KingFelix/emerald/' \ No newline at end of file