Saved: 2017-11-17 16:24
Torey Heinz
committed Nov 20, 2017
commit fbff7d605d89866484e3af35dda961296c841763
Showing 10
changed files with
224 additions
and 87 deletions
app/content_types/featured_cards.yml
+66
-0
| @@ | @@ -0,0 +1,66 @@ |
| + | # Human readable name of this type |
| + | name: Featured Cards |
| + | |
| + | # Lowercase, underscored handle used to access this type |
| + | slug: featured_cards |
| + | |
| + | # Explanatory text displayed in the back-office |
| + | description: Home Page Features |
| + | |
| + | # Slug of field used to identify entries by default, such as the title |
| + | label_field_name: title |
| + | |
| + | # Valid values: manually, created_at, updated_at, or the slug of any field |
| + | order_by: manually |
| + | |
| + | # Valid values: asc (ascending) and desc (descending). Set to asc by default. |
| + | # order_direction: asc |
| + | |
| + | # Specify a field slug to group entries by that field in the back-office. |
| + | # group_by: <your field> |
| + | |
| + | # Activate public 'create' API (e.g for a contact form) |
| + | # public_submission_enabled: false |
| + | |
| + | # Array of emails to be notified of new entries made with the public API |
| + | # public_submission_accounts: ['john@example.com'] |
| + | |
| + | # Control the display of the content type in the back-office. |
| + | # display_settings: |
| + | # seo: false # display the SEO tab for the content entries |
| + | # advanced: false # display the Advanced tab for the content entries |
| + | # position: 1 # position in the sidebar menu |
| + | # hidden: false # hidden for authors? |
| + | |
| + | # By default, the back-office displays the _label property (see label_field_name) of the content entry. This can be modified by writing your own Liquid template below: |
| + | # entry_template: '<a href="{{ link }}">{{ entry._label }}</a>' # The default template |
| + | |
| + | # A list describing each field |
| + | fields: |
| + | - title: # The lowercase, underscored name of the field |
| + | label: Title # Human readable name of the field |
| + | type: string |
| + | required: true |
| + | hint: Short Title |
| + | localized: false |
| + | # text_formatting: html # html (uses rich text editor), markdown or text (uses plain text editor) |
| + | |
| + | - url: |
| + | label: Path |
| + | type: string |
| + | required: true |
| + | |
| + | - intro: # The lowercase, underscored name of the field |
| + | label: Intro # Human readable name of the field |
| + | type: text |
| + | required: true |
| + | hint: Short Intro |
| + | localized: false |
| + | text_formatting: html # html (uses rich text editor), markdown or text (uses plain text editor) |
| + | |
| + | - image: # The lowercase, underscored name of the field |
| + | label: Image # Human readable name of the field |
| + | type: file |
| + | required: false |
| + | hint: Image should be at least 600x300px |
| + | localized: false |
app/content_types/products.yml
+58
-0
| @@ | @@ -0,0 +1,58 @@ |
| + | # Human readable name of this type |
| + | name: Products |
| + | |
| + | # Lowercase, underscored handle used to access this type |
| + | slug: products |
| + | |
| + | # Explanatory text displayed in the back-office |
| + | description: In Stock Items offered by Choice Castings |
| + | |
| + | # Slug of field used to identify entries by default, such as the title |
| + | label_field_name: title |
| + | |
| + | # Valid values: manually, created_at, updated_at, or the slug of any field |
| + | order_by: manually |
| + | |
| + | # Valid values: asc (ascending) and desc (descending). Set to asc by default. |
| + | # order_direction: asc |
| + | |
| + | # Specify a field slug to group entries by that field in the back-office. |
| + | # group_by: <your field> |
| + | |
| + | # Activate public 'create' API (e.g for a contact form) |
| + | # public_submission_enabled: false |
| + | |
| + | # Array of emails to be notified of new entries made with the public API |
| + | # public_submission_accounts: ['john@example.com'] |
| + | |
| + | # Control the display of the content type in the back-office. |
| + | # display_settings: |
| + | # seo: false # display the SEO tab for the content entries |
| + | # advanced: false # display the Advanced tab for the content entries |
| + | # position: 1 # position in the sidebar menu |
| + | # hidden: false # hidden for authors? |
| + | |
| + | # By default, the back-office displays the _label property (see label_field_name) of the content entry. This can be modified by writing your own Liquid template below: |
| + | # entry_template: '<a href="{{ link }}">{{ entry._label }}</a>' # The default template |
| + | |
| + | # A list describing each field |
| + | fields: |
| + | - title: # The lowercase, underscored name of the field |
| + | label: Title # Human readable name of the field |
| + | type: string |
| + | required: true |
| + | # hint: Explanatory text displayed in the back office |
| + | localized: false |
| + | |
| + | - image: |
| + | label: Image |
| + | type: file |
| + | |
| + | - description: # The lowercase, underscored name of the field |
| + | label: Description # Human readable name of the field |
| + | type: text |
| + | required: false |
| + | # hint: Explanatory text displayed in the back office |
| + | localized: false |
| + | text_formatting: html # html (uses rich text editor), markdown or text (uses plain text editor) |
| + | |
app/views/pages/index.liquid
+17
-60
| @@ | @@ -12,38 +12,17 @@ is_layout: false |
| <div class="row expanded services text-center"> | |
| <h1>How can Choice Castings help you?</h1> | |
| <div class="row wide gutter-small" data-equalizer> | |
| - | <div class="medium-4 column"> |
| - | <div class="card"> |
| - | <div class="title card-divider" data-equalizer-watch> |
| - | <p class="lead">Need Expedited Service?</p> |
| - | <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
| - | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, |
| - | quis nostrud exercitation ullamco</p> |
| - | </div> |
| - | <img src="{{ 'need-expedited-service.jpg' | theme_image_url | resize: '600x300#' }}"> |
| - | </div> |
| - | </div> |
| - | <div class="medium-4 column"> |
| - | <div class="card"> |
| - | <div class="title card-divider" data-equalizer-watch> |
| - | <p class="lead">Quality Concerns?</p> |
| - | <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
| - | quis nostrud exercitation ullamco</p> |
| - | </div> |
| - | <img src="{{ 'quality-concerns.jpg' | theme_image_url | resize: '600x300#' }}"> |
| - | </div> |
| - | </div> |
| - | <div class="medium-4 column"> |
| - | <div class="card"> |
| - | <div class="title card-divider" data-equalizer-watch> |
| - | <p class="lead">Offshoring Headaches?</p> |
| - | <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
| - | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, |
| - | quis nostrud exercitation ullamco</p> |
| + | {% for card in contents.featured_cards %} |
| + | <div class="medium-4 column"> |
| + | <div class="card"> |
| + | <div class="title card-divider" data-equalizer-watch> |
| + | <p class="lead">{{ card.title }}</p> |
| + | {{ card.intro }} |
| + | </div> |
| + | <img src="{{ card.image.url | resize: '600x300#' }}"> |
| </div> | |
| - | <img src="{{ 'offshoring-headaches.jpg' | theme_image_url | resize: '600x300#' }}"> |
| </div> | |
| - | </div> |
| + | {% endfor %} |
| </div> | |
| </div> | |
| <div class="row expanded content"> | |
| @@ | @@ -98,38 +77,16 @@ is_layout: false |
| <div class="row stock-items expanded"> | |
| <div class="row wide small-up-2 large-up-4 text-center gutter-small"> | |
| <h3 class="">In Stock Items</h3> | |
| - | <div class="column"> |
| - | <div class="card"> |
| - | <img src="{{ 'nest-caps.jpg' | theme_image_url | resize: '200x200#' }}"> |
| - | <div class="title card-divider" data-equalizer-watch> |
| - | <p class="lead">NEST CAPS</p> |
| - | </div> |
| - | </div> |
| - | </div> |
| - | <div class="column"> |
| - | <div class="card"> |
| - | <img src="{{ 'wing-nuts.jpg' | theme_image_url | resize: '200x200#' }}"> |
| - | <div class="title card-divider" data-equalizer-watch> |
| - | <p class="lead">WING NUTS</p> |
| - | </div> |
| - | </div> |
| - | </div> |
| - | <div class="column"> |
| - | <div class="card"> |
| - | <img src="{{ 'hand-wheel.jpg' | theme_image_url | resize: '200x200#' }}"> |
| - | <div class="title card-divider" data-equalizer-watch> |
| - | <p class="lead">HAND WHEELS</p> |
| - | </div> |
| - | </div> |
| - | </div> |
| - | <div class="column"> |
| - | <div class="card"> |
| - | <img src="{{ 'spike-grid.jpg' | theme_image_url | resize: '200x200#' }}"> |
| - | <div class="title card-divider" data-equalizer-watch> |
| - | <p class="lead">SPIKE GRIDS</p> |
| + | {% for product in contents.products %} |
| + | <div class="column"> |
| + | <div class="card"> |
| + | <img src="{{ product.image.url | resize: '200x200#' }}"> |
| + | <div class="title card-divider" data-equalizer-watch> |
| + | <p class="lead">{{ product.title }}</p> |
| + | </div> |
| </div> | |
| </div> | |
| - | </div> |
| + | {% endfor %} |
| </div> | |
| </div> | |
| </div> | |
app/views/pages/layouts/application.liquid
+3
-1
| @@ | @@ -59,11 +59,13 @@ is_layout: true |
| {% comment %}<img class="banner-image" src="{{ 'banner-1.jpg' | theme_image_url }}">{% endcomment %} | |
| <p class="lead">A Single Source for <br>ALL of Your Casting Needs</p> | |
| </div> | |
| - | <div class="wrapper row expanded"> |
| + | <div class="row expanded"> |
| {% block main %} | |
| <div class="row"> | |
| + | <div class="column content page"> |
| {% editable_text content %}Lorem ipsum{% endeditable_text %} | |
| </div> | |
| + | </div> |
| {% endblock %} | |
| <footer class="row expanded"> | |
| <div class="row wide"> | |
config/deploy.yml
+7
-1
| @@ | @@ -1,5 +1,11 @@ |
| + | development: |
| + | host: http://cms.dev |
| + | handle: thoughtless-valley-1625 |
| + | email: torey@teagles.io |
| + | api_key: d935dbe44cd303e463cd80f4a266acd03827bb0f |
| + | |
| production: | |
| host: http://cms.teagles.io | |
| handle: choice-castings | |
| email: torey@teagles.io | |
| - | api_key: 688697709bb800280ffd38d5484b1f8bf8b9212d |
| \ No newline at end of file | |
| + | api_key: 688697709bb800280ffd38d5484b1f8bf8b9212d |
data/featured_cards.yml
+16
-0
| @@ | @@ -0,0 +1,16 @@ |
| + | - "Need Expedited Service?": |
| + | url: /offshoring-headaches |
| + | intro: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco |
| + | image: /images/quality-concerns.jpg |
| + | |
| + | - "Quality Concerns?": |
| + | url: /offshoring-headaches |
| + | intro: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco |
| + | image: /images/quality-concerns.jpg |
| + | |
| + | - "Offshoring Headaches?": |
| + | url: /offshoring-headaches |
| + | intro: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco |
| + | image: /images/quality-concerns.jpg |
| + | |
| + | |
data/products.yml
+19
-0
| @@ | @@ -0,0 +1,19 @@ |
| + | - "Sample 1": |
| + | description: "Velit voluptatem quasi nesciunt dolorem molestiae earum ipsam. Natus maxime aperiam qui. Itaque placeat quas ut laudantium et. Voluptas et ut sed temporibus. Sunt nam porro occaecati animi recusandae voluptatem." |
| + | image: /images/wing-nuts.jpg # Path to a file in the public/samples folder or to a remote and external file. |
| + | |
| + | - "Sample 2": |
| + | description: "Similique laboriosam saepe. Delectus soluta alias ut. Necessitatibus et omnis quis ab a voluptate sequi." |
| + | image: /images/wing-nuts.jpg # Path to a file in the public/samples folder or to a remote and external file. |
| + | # image: /samples/products/yourfile.txt # Path to a file in the public/samples folder or to a remote and external file. |
| + | |
| + | - "Sample 3": |
| + | description: "Porro minus similique nostrum. Impedit mollitia eius assumenda earum enim. Molestiae quia quisquam nam ut provident. Ut unde facilis voluptate nihil. Similique et exercitationem molestiae ut." |
| + | image: /images/wing-nuts.jpg # Path to a file in the public/samples folder or to a remote and external file. |
| + | # image: /samples/products/yourfile.txt # Path to a file in the public/samples folder or to a remote and external file. |
| + | |
| + | - "Sample 4": |
| + | description: "Incidunt id eveniet voluptas qui soluta. Pariatur occaecati dolores dolore esse. Possimus qui dolorem minus ut. Quis numquam minima vero consectetur." |
| + | image: /images/wing-nuts.jpg # Path to a file in the public/samples folder or to a remote and external file. |
| + | # image: /samples/products/yourfile.txt # Path to a file in the public/samples folder or to a remote and external file. |
| + | |
log/server.log
+7
-0
| @@ | @@ -44,3 +44,10 @@ I, [2017-11-10T14:24:40.924767 #3476] INFO -- : Listening on 0.0.0.0:3000, CTRL |
| I, [2017-11-13T14:14:40.527452 #5046] INFO -- : Thin web server (v1.6.4 codename Gob Bluth) | |
| I, [2017-11-13T14:14:40.527716 #5046] INFO -- : Maximum connections set to 1024 | |
| I, [2017-11-13T14:14:40.527742 #5046] INFO -- : Listening on 0.0.0.0:3000, CTRL+C to stop | |
| + | I, [2017-11-16T02:35:05.296842 #18976] INFO -- : Thin web server (v1.6.4 codename Gob Bluth) |
| + | I, [2017-11-16T02:35:05.297123 #18976] INFO -- : Maximum connections set to 1024 |
| + | I, [2017-11-16T02:35:05.297154 #18976] INFO -- : Listening on 0.0.0.0:3000, CTRL+C to stop |
| + | I, [2017-11-16T19:38:28.286149 #18976] INFO -- : Waiting for 2 connection(s) to finish, can take up to 30 sec, CTRL+C to stop now |
| + | I, [2017-11-16T19:38:31.023159 #22580] INFO -- : Thin web server (v1.6.4 codename Gob Bluth) |
| + | I, [2017-11-16T19:38:31.023250 #22580] INFO -- : Maximum connections set to 1024 |
| + | I, [2017-11-16T19:38:31.023268 #22580] INFO -- : Listening on 0.0.0.0:3000, CTRL+C to stop |
public/stylesheets/_settings.scss
+8
-8
| @@ | @@ -141,20 +141,20 @@ $header-lineheight: 1.4; |
| $header-margin-bottom: 0.5rem; | |
| $header-styles: ( | |
| small: ( | |
| - | 'h1': ('font-size': 24), |
| - | 'h2': ('font-size': 20), |
| - | 'h3': ('font-size': 19), |
| - | 'h4': ('font-size': 18), |
| - | 'h5': ('font-size': 17), |
| - | 'h6': ('font-size': 16), |
| + | 'h1': ('font-size': 30), |
| + | 'h2': ('font-size': 28), |
| + | 'h3': ('font-size': 26), |
| + | 'h4': ('font-size': 26), |
| + | 'h5': ('font-size': 26), |
| + | 'h6': ('font-size': 26), |
| ), | |
| medium: ( | |
| 'h1': ('font-size': 48), | |
| 'h2': ('font-size': 40), | |
| 'h3': ('font-size': 31), | |
| 'h4': ('font-size': 25), | |
| - | 'h5': ('font-size': 20), |
| - | 'h6': ('font-size': 16), |
| + | 'h5': ('font-size': 25), |
| + | 'h6': ('font-size': 25), |
| ), | |
| ); | |
| $header-text-rendering: optimizeLegibility; | |
public/stylesheets/app.scss
+23
-17
| @@ | @@ -53,16 +53,32 @@ html { |
| background: image-url('/images/body-bg.png') repeat; | |
| } | |
| - | div.wrapper { |
| + | .content { |
| background: #fff; | |
| - | // padding-top: rem-calc(10); |
| - | // box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); |
| + | padding: rem-calc(10); |
| + | } |
| + | |
| + | .content.page { |
| + | margin: rem-calc(10); |
| + | box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); |
| + | font-size: 1.4rem; |
| + | |
| + | @include breakpoint(small only) { |
| + | font-size: 1.2rem; |
| + | } |
| } | |
| .row.wide { | |
| max-width: rem-calc(1200); | |
| } | |
| + | .row.services { |
| + | background-color: #E1E2E4; |
| + | } |
| + | |
| + | .row.stock-items { |
| + | background-color: #E1E2E4; |
| + | } |
| .top-bar { | |
| box-shadow: 0 1px 2px rgba(0,0,0,0.24); | |
| // background-color: #201E1F; | |
| @@ | @@ -106,6 +122,9 @@ div.wrapper { |
| body.index { | |
| .banner { | |
| height: 350px; | |
| + | @include breakpoint(small only) { |
| + | height: 250px; |
| + | } |
| } | |
| } | |
| @@ | @@ -116,7 +135,7 @@ body.index { |
| background-size: cover; | |
| @include breakpoint(small only) { | |
| - | height: 250px; |
| + | height: 200px; |
| } | |
| p.lead { | |
| @@ | @@ -140,19 +159,6 @@ body.index { |
| } | |
| - | |
| - | .row.services { |
| - | background-color: #E1E2E4; |
| - | } |
| - | |
| - | .row.content { |
| - | padding: rem-calc(10) 0; |
| - | } |
| - | |
| - | .row.stock-items { |
| - | background-color: #E1E2E4; |
| - | } |
| - | |
| .card { | |
| .title { | |
| background: linear-gradient(#4D5D66, #687B86); /* Standard syntax */ | |