Git Product home page Git Product logo

empress-blog-ember-template's Introduction

empress-blog-ember-template

This is a custom template for the Ember Blog designed to work with empress-blog.

For more information about empress-blog read the empress-blog documentation but if you want to get started straight away, try the quick start below.

Compatibility

  • Ember.js v3.24 or above
  • Ember CLI v3.24 or above
  • Node.js v12 or above

Quick Start

# if you don't have ember-cli installed already
npm install -g ember-cli

ember new super-blog
cd super-blog

ember install empress-blog empress-blog-ember-template

It will ask you if you want to update the index.html file and you should say yes ๐Ÿ‘

If you want to see the blog system running on your local machine just run npm start and you will be able to navigate to http://localhost:4200 to see the blog in action.

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.

empress-blog-ember-template's People

Contributors

acburdine avatar aileen avatar alexeykostevich avatar amyrlam avatar ankushdharkar avatar aoifehannigan avatar cobbspur avatar erisds avatar halfdan avatar jakegiltsoff avatar jaredgalanis avatar jitendravyas avatar johnonolan avatar kevinansfield avatar kezzbracey avatar kirrg001 avatar locks avatar lukaszklis avatar mankittens avatar mansona avatar minthamie avatar nickschot avatar novaugust avatar pauladamdavis avatar phoenixpeca avatar razzius avatar rcranganu avatar robbiethewagner avatar ybbuc avatar yoranbrondsema avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

empress-blog-ember-template's Issues

Design related sidebar refinements

  • Implement proper design for the header of the overlay no changes for now
  • decide on a closing animation decided to not add one
  • add a proper icon for the close button (rather than just an X)

Make sure tags `include` the latest 3 or 4 posts

This is a requirement that will allow for the proper implementation of features like #26 without the need for the data to be loaded via a different means.

Currently the Tag model has a hasMany relationship with posts (content). We want to be able to get the latest 3 posts directly from the Tag model without having to load all of the content and relying on implicit inverses to stitch the content together.

This may require us to finish empress/empress-blog#23

"Read on" buttons are too prominent

They stand out a bit too much and should probably be toned down a bit (maybe more of a link?)

Should probably be done after the extra padding is added to the <hr> on the index page #105

Improve the design of the code sample view

We are trying to standardise the code-sample view for the Ember websites. Currently we have a code-sample that is powered by Prism with a few extra features:

Screenshot 2020-04-23 at 15 21 14

Can be seen on https://guides.emberjs.com/release/components/

There has been some work done on a newer refined design: abstract link but it needs some more work to communicate the clarity of the type of file that you are displaying

We are standardising on using https://github.com/empress/ember-showdown-prism to power all of our websites' code views so the changes to the design should likely go there ๐Ÿ‘

Make sure there is a default design for block quotes

There are some blogs that are making use of Markdown "blockquotes" in their content, but it seems like we don't have any design other than the default User Agent design (which is applying some indent) for blockquotes. Example:
https://empress-blog-ember-template.netlify.app/the-emberjs-times-issue-49/

We need a default design that will work with the blockquote that is produced from Markdown (i.e. no classes)

Here is the current HTML for a blockquote:

<blockquote>
  <p>Translate a directory (or set of directories) of Markdown documents into a static JSON:API.</p>
</blockquote>

and this is what it currently looks like in context of a blog:

Screenshot 2020-06-18 at 11 57 00

I think we should implement this initially on the blog repo and then probably move it to ember-styleguide as we will likely need this for other sites that are making use of Markdown as their input ๐Ÿ‘

Implement Multiple Authors

All of the Ember blogs tend to have multiple authors. ember-ghost needs to support this so that we can ๐Ÿ‘

Have the ability to define a "description" for an article

We are currently using the {{excerpt}} helper to take the first 40 words to use as an "intro" on the index page.

We should be able to specify the description/intro in post yaml and if it is not present it should fallback to using `{{excerpt}}``

note: this needs to work with SEO description in ember-ghost too ๐Ÿ‘

Implement PostCard component

Description

Implement the <PostCard /> component, which is used to give a summary of a particular post on the index page and also the author page.

PostCard

Abstract link: https://app.abstract.com/share/a0507989-278d-4684-9c1c-c436eddbba2b?collectionLayerId=fb616254-a983-410a-b31b-254bee8a68c3&mode=build&selected=3275462493-E0A95F80-C807-445E-BE41-DCF99C21C86D

If you would like to work on this issue you can "claim" it by commenting and letting us know that you would like to work on it ๐Ÿ‘

Supporting information - please read if you are new to this project

This redesign effort is powered by the new version of the Ember Styleguide. You should be able to implement everything you need for this feature by following the new documentation for the ember-styleguide but if you think there is not enough documentation please let us know and we will point you in the right direction.

In most cases you should not need any CSS to implement this issue for the blog template, you should instead be trying to make use of the helpers and components that are documented in the ember-styleguide. This is not a strict rule, there may be cases where the documentation in the ember-styleguide is lacking or some custom CSS is actually needed. If you have any questions please comment on this issue or reach out to us on the #st-website channel on the Ember Community Discord

Add all tags to RHS

Overview

We are in the process of "Emberifying" the Ember Blog using empress-blog and this issue is related to implementing the Ember specific template that makes the new blog look the same as the old one ๐Ÿ‘

If you run this repo locally you will see some example posts, the point of this issue is to make the site look like the existing blog:

image

Todo

  • add enough example posts to cover the tags required in the right-hand side of the above screenshot
  • copy the styles so that it has each of the sections available
  • list each of the last 3 posts from the tag under the tag header
    • This will likely require some hacking on broccoli-static-site-json and it is worth taking to Chris Manson (real_ate) in the #dev-ember-learning channel in Discord

Make sure pagination works correctly for tag pages and author pages.

We have made sure that pagination works as expected for content accessed from the index page, but we need to make sure that content accessed from the tag and author pages also support the same form of pagination.

This will likely be something that will need to be implemented upstream in empress-blog

Design a "more compressed" Author page

Instead of doing the strange pagination implementation let's show the top 3 posts as "Post cards" and just show the titles for all the rest of the posts

Design the approach for the sidebar in the new blog

This is a follow on from ember-learn/ember-styleguide#209

Instead of implementing a generic sidebar component in the styleguide in one step, we should design a specific sidebar that will work for one project, and then extract the documentation and any useful components into the styleguide so that we can then move on to implement the various other sidebars in other projects.

It is possible that we might end up with a single sidebar that can cover all aspects necessary for all applications, but we shouldn't set out to try and do this as a first step ๐Ÿ‘

remove the indent on the tag-panel component

In the <TagPanel /> component the listed posts are currently indented form the title of the tag section. Apparently this was a bit of a bug with the design file and they were never intended to be indented.

The design should look more like this: https://app.abstract.com/share/a0507989-278d-4684-9c1c-c436eddbba2b?collectionId=3dd6309b-7cfa-4735-85b2-3b10305b19ae&collectionLayerId=494a5919-3bdc-437f-8971-8a947fe05e81&present=true&preview=false&sha=9fae4344280180d331d3c43c1738b89881fa0b63

where you can see that the title of the tag section and the posts in that section are flush with each other

Implement TagSidebar component

Description

Implement the <TagSidebar /> component. The tag sidebar consists of 3 <TagPostList /> components (see #26) with 3 following sections 'By Year', 'By Major Version', and 'By subject'

The By year section is just a list of "year based" tag links. i.e. the 2019 link will just link to /tag/2019. The same is the case for the By major version section.

the by subject is also list of links to particular tags, essentially all other tags that don't have a dedicated section. Because tags can be created later, we won't make this a static list. Instead we will filter out tags that are already shown above this section from the all tags collection ๐Ÿ‘

tagsidebar

Abstract link: https://app.abstract.com/share/a0507989-278d-4684-9c1c-c436eddbba2b?collectionLayerId=fb616254-a983-410a-b31b-254bee8a68c3&mode=build&selected=2417309410-C899CB5A-0D1F-488E-B994-7624B84ED51A

If you would like to work on this issue you can "claim" it by commenting and letting us know that you would like to work on it ๐Ÿ‘

Supporting information - please read if you are new to this project

This redesign effort is powered by the new version of the Ember Styleguide. You should be able to implement everything you need for this feature by following the new documentation for the ember-styleguide but if you think there is not enough documentation please let us know and we will point you in the right direction.

In most cases you should not need any CSS to implement this issue for the blog template, you should instead be trying to make use of the helpers and components that are documented in the ember-styleguide. This is not a strict rule, there may be cases where the documentation in the ember-styleguide is lacking or some custom CSS is actually needed. If you have any questions please comment on this issue or reach out to us on the #st-website channel on the Ember Community Discord

Implement the Author page design

Description

Implement the Author page design. This is mostly there but the author name and details need to be moved slightly to match the design in Abstract

Screenshot 2020-07-28 at 21 31 45

Abstract link: https://share.goabstract.com/a0507989-278d-4684-9c1c-c436eddbba2b?collectionLayerId=494a5919-3bdc-437f-8971-8a947fe05e81&mode=design

Here is an example of what it looks like currently: https://deploy-preview-7--ember-blog-legacy.netlify.app/author/matthew-beale

If you would like to work on this issue you can "claim" it by commenting and letting us know that you would like to work on it ๐Ÿ‘

**Notes: **

  • the pagination on this page has a "read more" button which does not match the Abstract. This is expected and is not part of this issue
  • There is a different issue to properly style the <hr> tags ember-learn/ember-styleguide#329
  • you should make sure that the tag sidebar that is available on other pages shows up on the author page (I think there is some code that is telling it to hide itself which can be removed)

Supporting information - please read if you are new to this project

This redesign effort is powered by the new version of the Ember Styleguide. You should be able to implement everything you need for this feature by following the new documentation for the ember-styleguide but if you think there is not enough documentation please let us know and we will point you in the right direction.

In most cases you should not need any CSS to implement this issue for the blog template, you should instead be trying to make use of the helpers and components that are documented in the ember-styleguide. This is not a strict rule, there may be cases where the documentation in the ember-styleguide is lacking or some custom CSS is actually needed. If you have any questions please comment on this issue or reach out to us on the #st-website channel on the Ember Community Discord

Add Pagination links to the new design

Description

Pagination has already been implemented into empress-blog for this project, and a previous implementation of this template even had it working but it was accidentally removed during the recent changes.

Here is the code that used to be in app/templates/index.hbs:

<div class="index-pagination">
  {{#if model.links.prev}}
    {{#link-to 'index' (query-params page=model.links.prev) class="newer-posts"}}
      Newer articles
    {{/link-to}}
  {{else}}
    <a class="newer-posts disabled" href="javascript:void(0)" aria-disabled="true">Newer articles</a>
  {{/if}}

  <span class="page-number">Page {{pageNumber}} of {{numerOfPages}}</span>
  
{{#if model.links.next}}
    {{#link-to 'index' (query-params page=model.links.next) class="older-posts"}}
      Older articles
    {{/link-to}}
  {{/if}}
</div>

The challenge for this issue is to implement the pagination (using the above code as an example) with the new design.

Screenshot 2020-06-11 at 10 25 36

Abstract link: https://app.abstract.com/share/a0507989-278d-4684-9c1c-c436eddbba2b?collectionId=3dd6309b-7cfa-4735-85b2-3b10305b19ae&collectionLayerId=fb616254-a983-410a-b31b-254bee8a68c3&mode=build&selected=root-2C82C3DC-0696-49DD-B429-6953C081AF8A&sha=9fae4344280180d331d3c43c1738b89881fa0b63

If you would like to work on this issue you can "claim" it by commenting and letting us know that you would like to work on it ๐Ÿ‘

Supporting information - please read if you are new to this project

This redesign effort is powered by the new version of the Ember Styleguide. You should be able to implement everything you need for this feature by following the new documentation for the ember-styleguide but if you think there is not enough documentation please let us know and we will point you in the right direction.

In most cases you should not need any CSS to implement this issue for the blog template, you should instead be trying to make use of the helpers and components that are documented in the ember-styleguide. This is not a strict rule, there may be cases where the documentation in the ember-styleguide is lacking or some custom CSS is actually needed. If you have any questions please comment on this issue or reach out to us on the #st-website channel on the Ember Community Discord

Add rudimentary skeleton UI

A simple gradient box using the defined greyscale we have in ember-styleguide

bottom-right var(--color-gray-100)
top-left var(--color-gray-200)

Accessibility related sidebar refinements

This is a follow on issue to #23 that aims to list of of the things necessary to get the sidebar ready for release ๐Ÿ‘

  • Make sure everything is accessible on mobile (on desktop this component does nothing, it is just a nav)
  • Implement proper design for the header of the overlay moved to #47
  • decide on a closing animation moved to #47

Fix meta implementation

For some reason the meta implementation is broken. Maybe we just need to make sure the {{head-data}} component is in the template but it needs to be investigated

Implement Post Page

Description

Implement the main "post" page. If you click on one of the articles in the index page you will be directed to the post page that shows the full content of a post.

Note: this page does not have a defined design for it. You should be able to implement it using the styleguide documentation (see link below). If you feel like you need some guidance please feel free to ask us in the comments on this issue, or by reaching out to us on the #st-website channel on Discord.

If you would like to work on this issue you can "claim" it by commenting and letting us know that you would like to work on it ๐Ÿ‘

Supporting information - please read if you are new to this project

This redesign effort is powered by the new version of the Ember Styleguide. You should be able to implement everything you need for this feature by following the new documentation for the ember-styleguide but if you think there is not enough documentation please let us know and we will point you in the right direction.

In most cases you should not need any CSS to implement this issue for the blog template, you should instead be trying to make use of the helpers and components that are documented in the ember-styleguide. This is not a strict rule, there may be cases where the documentation in the ember-styleguide is lacking or some custom CSS is actually needed. If you have any questions please comment on this issue or reach out to us on the #st-website channel on the Ember Community Discord

Make sure that TagPostList component always shows the most recent 3 posts in each tag

You can see the start of this discussion in this issue: #26 but essentially the problem is that currently @tag.posts is not an array that is in the order of most recent to oldest.

This would ideally be something that we should fix on the "model-level" so that template authors shouldn't need to worry about it, but if that is proving too difficult before release we could always fall back to adding some logic to TagPostList that deals with this ๐Ÿ‘

Just to be clear: the preferred solution to this is solving it on a model-level upstream in empress-blog

Implement TagPostList component

Description

Implement the <TagPostList /> component that takes a @tag as an argument and shows the title of that tag, a list of the latest 3 posts in that tag and a link to the tag page as the More <tagname>... link

tag

Abstract link: https://app.abstract.com/share/a0507989-278d-4684-9c1c-c436eddbba2b?collectionLayerId=fb616254-a983-410a-b31b-254bee8a68c3&mode=build&selected=3275462493-2CB5668F-A874-4797-A23D-83C28BF247AC

If you would like to work on this issue you can "claim" it by commenting and letting us know that you would like to work on it ๐Ÿ‘

Supporting information - please read if you are new to this project

This redesign effort is powered by the new version of the Ember Styleguide. You should be able to implement everything you need for this feature by following the new documentation for the ember-styleguide but if you think there is not enough documentation please let us know and we will point you in the right direction.

In most cases you should not need any CSS to implement this issue for the blog template, you should instead be trying to make use of the helpers and components that are documented in the ember-styleguide. This is not a strict rule, there may be cases where the documentation in the ember-styleguide is lacking or some custom CSS is actually needed. If you have any questions please comment on this issue or reach out to us on the #st-website channel on the Ember Community Discord

Implement Index page for desktop

Description

Implement the index page for desktop view

blog @wide

Abstract link: https://app.abstract.com/share/a0507989-278d-4684-9c1c-c436eddbba2b?collectionLayerId=fb616254-a983-410a-b31b-254bee8a68c3&mode=build&selected=root-79814B20-2D73-4442-9882-2450E5C85FF3

If you would like to work on this issue you can "claim" it by commenting and letting us know that you would like to work on it ๐Ÿ‘

Note: this issue only refers to the desktop view of the index page. The mobile view is blocked by #24

Also blocked by #7 and #31

Supporting information - please read if you are new to this project

This redesign effort is powered by the new version of the Ember Styleguide. You should be able to implement everything you need for this feature by following the new documentation for the ember-styleguide but if you think there is not enough documentation please let us know and we will point you in the right direction.

In most cases you should not need any CSS to implement this issue for the blog template, you should instead be trying to make use of the helpers and components that are documented in the ember-styleguide. This is not a strict rule, there may be cases where the documentation in the ember-styleguide is lacking or some custom CSS is actually needed. If you have any questions please comment on this issue or reach out to us on the #st-website channel on the Ember Community Discord

Decide the best way to link back to the blog home

Currently, if you click the Ember logo in the top left of the page when you are on a blog post you will go back to the emberjs.com homepage. This is expected because of the nature of the Navbar that we have.

The problem, however, is that even though we have a lot of cross-links to certain tags in the sidebar we currently have no good way to get back to the index of the Blog ๐Ÿค”

This is a general problem we will face with all of our designs but if we can find a specific solution in this project we can worry about generalising it later.

Create a design for the "pinned" featured post

On the ember blog there is a "pinned" Featured Post: Octane is Here

We need to have a design for these sorts of posts so that they are sufficiently "visually different" so as to bring our attention to them

Add logo to Ember Times posts and tag

we should show the Ember Times logo on a post (with a conditional) if the primary tag is newsletter

We should do the same on the tag page if the tag's id is newsletter

Pagination needs to work

As there are so many existing blogs on the Ember blog we need pagination to be working for this project!

Currently ember-ghost doesn't support pagination but it is something that we would like to have ๐Ÿ‘

The main place where we would need pagination is the creation of a "collection" in the broccoli code https://github.com/empress/ember-ghost/blob/master/index.js#L76 it is creating a single "collection" from all the content (posts) using the functionality of broccoli-static-site-json https://github.com/stonecircle/broccoli-static-site-json#collections

We need to extend the implementation of collections so that it produces multiple "pages" of collections and then fix the ember-ghost implementation so that it makes use of these pages correctly ๐Ÿ‘

implement widow template helper and apply to blog titles in the sidebar

In some cases the blog titles in the sidebar can be just long enough to wrap exactly one word onto the next line, which looks pretty bad. This is sometimes called a "widow" or an "orphan" and we can prevent it by replacing the last space in the line with a non breaking space &nbsp;

Here is what it currently looks like:

Screenshot 2020-06-11 at 09 45 44

And here is what it looks like with the fix applied to the first line:

Screenshot 2020-06-11 at 09 49 20

To Do

  • create a no-widow helper that will replace the last space in the text passed to it with a non-breaking space
  • apply this helper to the titles of the tag sidebar

If you want to read more about widows and orphans you can see more here: https://en.wikipedia.org/wiki/Widows_and_orphans

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.