diff --git a/custom-oss.hbs b/custom-oss.hbs new file mode 100644 index 0000000..b35bc73 --- /dev/null +++ b/custom-oss.hbs @@ -0,0 +1,94 @@ +{{!< default}} +
+ {{#post}} +
+

{{title}}

+
{{content}}
+
+ {{/post}} + +
+ {{#get "posts" filter="slug:program-news"}} + {{#foreach posts}} +

Program News

+ +
+ {{/foreach}} + {{/get}} + +
+ {{#get "posts" filter="slug:[hash-oss-our-vision, hash-oss-our-mission]"}} + {{#foreach posts}} +
+

{{title}}

+ {{{html}}} +
+ {{/foreach}} + {{/get}} +
+ +
+

Projects

+

Learn more about our current and past efforts

+
+ {{#get "posts" order="featured desc, title asc" filter="tag:[hash-oss-project]"}} + {{#foreach posts}} +
+

{{title}}

+ {{{html}}} +
+ {{/foreach}} + {{/get}} +
+
+ {{#get "posts" filter="tag:[hash-oss-contribute]"}} + {{#foreach posts}} + {{#if feature_image}} + {{title}} + {{/if}} +

{{title}}

+
{{content}}
+ {{/foreach}} + {{/get}} +
+
+ +
+

Team

+

Meet the people behind our program

+
+ {{#get "pages" order="featured desc, title asc" filter="tags:hash-oss-team" limit="all" include="feature_image"}} + {{#foreach pages}} +
+ {{#if feature_image}} + {{title}} + {{/if}} +
+

{{title}}

+ {{content}} +
+
+ {{/foreach}} + {{/get}} +
+
+
+ {{#get "pages" filter="tag:[hash-oss-program-support]"}} + {{#foreach pages}} +

{{title}}

+ {{{content}}} + Program-Specific Funding + Donated Services + Memberships + Program-Specific Funding +
+ {{/foreach}} + {{/get}} +
+ diff --git a/default.hbs b/default.hbs index 6ac0fc4..5fe0c82 100644 --- a/default.hbs +++ b/default.hbs @@ -25,15 +25,18 @@
{{!-- All content gets inserted here, index.hbs, post.hbs, etc --}} -
- -

{{@site.description}}

-
+ + {{#is "home"}} +
+ +

{{@site.description}}

+
+ {{/is}} {{{body}}}
diff --git a/src/css/app.css b/src/css/app.css index a809d24..1b6123a 100644 --- a/src/css/app.css +++ b/src/css/app.css @@ -19,6 +19,7 @@ /* @import './pages/content.css'; */ @import './rubycentral.css'; +@import './open-source.css'; /* Vendor */ @import './vendors/ghost.css'; diff --git a/src/css/open-source.css b/src/css/open-source.css new file mode 100644 index 0000000..09321e8 --- /dev/null +++ b/src/css/open-source.css @@ -0,0 +1,281 @@ +#open-source { + .post { + padding: 2.5rem; + padding-top: 0; + } + + p, + ul { + line-height: 1.4rem; + font-size: 16px; + } + h1, + h2, + h3 { + font-family: Rubik; + margin-bottom: 1rem; + column-span: all !important; + } + h1 { + font-size: 26px; + text-transform: capitalize; + } + h2 { + font-size: 18px; + font-family: 'Inter var', sans-serif; + font-weight: 300; + font-style: italic; + } + @media (min-width: 700px) { + h1 { + font-size: 42px; + } + h1.title { + font-size: 50px; + } + h2 { + font-size: 26px; + } + } + @media (min-width: 1350px) { + h1.title { + font-size: 72px; + } + h2 { + font-size: 32px; + } + p { + font-size: 18px; + } + } + + .title { + text-transform: uppercase; + font-weight: bold; + position: relative; + padding-bottom: 0.75rem; + + &::after { + content: ''; + position: absolute; + left: 0; + right: 0; + bottom: 0; + height: 3px; + background-color: var(--yellow); + width: 70px; + } + } + .call-to-action.header { + text-transform: uppercase; + font-weight: bold; + position: relative; + padding-bottom: 0.75rem; + font-size: 26px; + margin-bottom: 1rem; + + &::after { + content: ''; + position: absolute; + left: 0; + right: 0; + bottom: 0; + height: 3px; + background-color: var(--yellow); + width: 70px; + } + } + + .mission-and-vision { + display: grid; + grid-template-columns: 1fr; + gap: 2.5rem; + margin-bottom: 2.5rem; + margin-top: 2.5rem; + } + + .post.mission-and-vision h1::after { + display: none; + } + + .post .column img { + max-width: 100%; + height: 100%; + object-fit: cover; + border-radius: 0.75rem; + } + + .program-support { + background-color: var(--lightblue); + margin-bottom: 2.5rem; + margin-top: 2.5rem; + border-radius: 0.5rem; + padding-top: 1rem; + } + + .program-support span { + background-color: var(--yellow); + padding: 1rem; + margin: 0 1rem 1rem 0; + font-size: 1.25rem; + font-weight: bold; + min-width: 200px; + white-space: nowrap; + border-radius: 0.5rem; + padding: 1rem; + display: inline-block; + } + @media (min-width: 700px) { + .program-support span { + font-size: 1.5rem; + padding: 1rem 2.5rem; + } + } + .program-support span:nth-of-type(2) { + background-color: var(--red); + color: white; + } + .program-support span:nth-of-type(3) { + color: white; + background-color: var(--blue); + } + .program-support span:nth-of-type(4) { + background-color: var(--green); + } + .projects { + background-color: var(--darkred); + color: var(--white); + margin-bottom: 2.5rem; + margin-top: 2.5rem; + border-radius: 0.5rem; + padding-top: 1rem; + } + .projects > h1.title { + margin-top: 1rem; + } + + .project { + width: 100%; + background-color: var(--navy); + color: var(--white); + border-radius: 0.5rem; + padding: 1.5rem; + padding-bottom: 2rem; + } + .projects .projects-list { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); + gap: 2.5rem; + width: 100%; + margin-bottom: 2.5rem; + + h1 { + font-size: 20px; + } + @media (min-width: 700px) { + h1 { + font-size: 26px; + } + } + @media (min-width: 1024px) { + h1 { + font-size: 32px; + } + } + } + .project h1 { + font-weight: 400; + } + .project img { + object-fit: cover; + } + + @media (min-width: 400px) { + .post { + width: 95%; + margin: 0 auto; + } + } + + @media (min-width: 550px) { + .post { + width: 80%; + margin: 0 auto; + } + } + + @media (min-width: 700px) { + .post { + width: 100%; + max-width: 800px; + margin: 0 auto; + } + .post .two-up { + column-count: 2; /* Number of columns */ + column-gap: 2.5rem; /* Spacing between columns */ + } + .mission-and-vision { + grid-template-columns: 1fr 1fr; + } + } + + @media (min-width: 1350px) { + .post { + width: 100% !important; + max-width: 1024px !important; + } + + .gh-sidebar { + position: absolute; + left: 0; + } + + .gh-toc { + position: sticky; + top: 4vmin; + max-width: calc((100vw - 800px) / 2); + padding-right: 2rem; + } + } + + .gh-toc .is-active-link::before { + background-color: var(--ghost-accent-color); + } + + .team { + text-align: center; + } + + .grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); + gap: 2.5rem; + width: 100%; + margin-bottom: 2.5rem; + } + @media (min-width: 1350px) { + .grid { + grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); + } + } + .team-photo { + width: 100%; + height: auto; + border-radius: 0.5rem; + object-fit: cover; + } + + .team-info { + margin-top: 0.5rem; + } + + .team-name { + font-weight: bold; + font-size: 1.1rem; + margin-bottom: 0; + } + + .team-title { + font-size: 0.9rem; + } +} diff --git a/src/css/rubycentral.css b/src/css/rubycentral.css index 6b7d98d..f37a012 100644 --- a/src/css/rubycentral.css +++ b/src/css/rubycentral.css @@ -1,8 +1,9 @@ -@import url("https://fonts.googleapis.com/css?family=Rubik&display=swap"); +@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap'); @import url("https://rsms.me/inter/inter.css"); :root { --red: #E14943; + --darkred: #cf2821; /* For Contrast with white text */ --purple: #755384; --blue: #6288BC; --green: #71C09E;