Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add blog #1483

Closed
crandmck opened this issue Apr 10, 2024 · 11 comments
Closed

Add blog #1483

crandmck opened this issue Apr 10, 2024 · 11 comments

Comments

@crandmck
Copy link
Member

crandmck commented Apr 10, 2024

In the TC meeting, @UlisesGascon suggested that we add a blog section to the website for security notices and other timely information, and I wanted to record this idea before it slipped away. I think there's a lot of value in this kind of information, which is somewhat outside the normal scope of documentation, and eventually we could get guest submissions from the community on all kinds of topics of general interest to Express devs.

Jekyll was originally a blog, so it's got lots of features for blogging.

@chrisdel101
Copy link
Contributor

chrisdel101 commented Apr 21, 2024

What type of features? I assume you just mean that blog posts would be committed by your team (or others w. your permission) as files added the blog folder. Like by developers who know how to do such things.
Meaning, you don't expect an markdown editor w. the ability to create new posts within the site itself, and authentication, etc, where hitting "submit" creates a new post.

Adding a editor and blog post capabilities is possible for me to do, but if authentication does not already exist, then anyone could post.

If I understand I assume you don't want that. So we'd just need to add a blog link to the nav and then serve any posts from the blog folder, which Jekyll does very easily.

I can handle this if you confirm this will work.

@crandmck
Copy link
Member Author

@chrisdel101 Thanks for offering... And yes, by "features" I was just referring to basic Jekyll blog features, i.e. as explained in https://jekyllrb.com/docs/posts/. As you say, the idea is that new blog posts would be written/published using the current GitHub/PR flow as for the rest of the docs.

IMO, the minimal work to add a blog would be:

  1. Add a new layout template in _layouts for blog posts. Nothing fancy, but will be a bit different from a regular page in the site. Should still display the site menu, presumably.
  2. Add a blog index that displays links to all the files in _posts along with publication date, authors, and a short excerpt for each. Perhaps highlighting the most recent post ...
  3. Add a menu item that links to the above; Either a new top-level item to the right of "Resources" or an item in the "Resources" menu. Exact UX is TBD based on input from TC, et al.

I might be missing some other steps, but that's the general idea. Until we have some "real" blog posts, just start with a "Welcome to the Express blog" placeholder post that explains HOW to write a post and submit a PR to publish it.

Once this framework is in place, I hope folks in the TC and others will start writing posts with real content.

@chrisdel101
Copy link
Contributor

Okay, will look into this.

chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue Apr 26, 2024
- add blog post to header
- add min height to posts page
- add blog/posts index page
@chrisdel101
Copy link
Contributor

chrisdel101 commented Apr 26, 2024

So I have created the ability to add posts and display them. I've add two dummy posts to test and taken a screen shot. These won't be commited with the feature.
I've also shown what will happen when there are no posts, as I guess there will not be right after this change is made. If you were to run this now, you would see the second one.
Screenshot 2024-04-25 at 9 30 20 PM
Screenshot 2024-04-25 at 9 30 02 PM

The task now is to decide how we want them laid out, I mean on the index page above. We can have them in one long list like they are now, or group by months, or by quarter, or by topics. Any input on that?
We can also add tags to each post if you want to track them this way.

I think the layout of the posts themselves can be dictated by the authors? Since they'll be writing them in HTML or MD.

I will also add the rest of the stuff you asked for in next commit: publication date, authors, and a short excerpt for each. Can also highlighting the most recent post.

Oh, and I guess will fill in the currenrtly empty space with an explanation of how to write a post, as you suggest above too

@crandmck
Copy link
Member Author

This is great @chrisdel101 ... Thanks for taking this on!

The task now is to decide how we want them laid out, I mean on the index page above.

I think initially, just a reverse chronological list, i.e. with the most-recent post first, followed by the one before that, and so on... That should be fine until we have more than a handful of posts, at which point we can discuss dividing them by month, quarter, or whatever, depending on how often we have posts. We just don't know yet, since we haven't had a blog before!

Each post in this list should include title, publication date, author(s), and excerpt (maybe, see below).

I think the layout of the posts themselves can be dictated by the authors? Since they'll be writing them in HTML or MD.

Yes, but it might be nice to display a list of posts/links in the left gutter (otherwise empty), without all the extra stuff (author, date, etc) to provide a kind of navigation among the blog post.. This is similar to how the API reference works. If we do this, then the blog "home page" could always show the complete most-recent post, and the links in the left gutter would link to older ones.

Alternatively, the "home page" would show the list of all the posts with short excerpts, and perhaps the most-recent one would have a longer excerpt. I think the first way is more common, but I'm open to either approach.

Otherwise, having the blog post layout the same as the current page layout seems fine to me. We do need to think about how the authors and date will be displayed... As sub-headings below the title, presumably. Otherwise, at your discretion.

Re: tags, I think that's a great idea that would be helpful in the long run, but I think we can live without it for the initial incarnation. It won't even be relevant until we have a number of posts, and as previously noted, this is so new it's hard to know if/when we'll have many...

chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue Apr 29, 2024
- add single template style to posts page; will handle all post displays
- build posts template styles
chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue May 5, 2024
- add futher posts index styles (based on shopify blog UI)
- remove parens in liquid
chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue May 5, 2024
- liquid func to strip out top part of excerpt
- add active to first item
chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue May 6, 2024
- add gutter links for tags
- add JS to handle gutter tags
- add CSS for gutter + posts
- add blog specfic layout
@chrisdel101
Copy link
Contributor

Just wanted to give an update on this and make sure things are going in the right direction. I looked at some other blog designs; didn't want to get too fancy + almost did.
On the /posts page each post gets it's own box in order by date. The first gets a blurb excerpt. The biggest issue here might be that there is a photo on each post. Either the author would need to point to that with their post, or attach it with their file. Or we could randomly assign it...or I could get rid of it.

The gutter menu shows the tags. When clicked all the posts with that tag are shown. We could always hide this if there aren't a minimum of say five tags? If there's something better to put here that's an option too.
If this looks good, I'll keep tidying it up.
Screenshot 2024-05-07 at 7 42 54 PM
Screenshot 2024-05-07 at 7 41 30 PM

@crandmck
Copy link
Member Author

crandmck commented May 9, 2024

This looks good as far as I can tell, but it's a bit hard just from the above...

If you could open a PR, now that we have deploy previews (thanks @jonchurch), we could see how it looks in action. Then I might be able to give more specific/useful feedback.

@chrisdel101
Copy link
Contributor

chrisdel101 commented May 10, 2024

makes sense. i’ll get something presentable ready before asking feedback further. making a PR like you said sounds good.

i’m having some trouble with the navbar. it seems weirdly put together. it’s breaking with the addition of an extra item in there. once, and if, i sort that out i’ll put this through for you to look at.

@CBID2
Copy link

CBID2 commented May 15, 2024

Hey @UlisesGascon. Do you mind if I create my blog post pull request once the blog’s structure is officially merged? It’ll make it easier for me to format it. 😊

@UlisesGascon
Copy link
Member

Hey @UlisesGascon. Do you mind if I create my blog post pull request once the blog’s structure is officially merged? It’ll make it easier for me to format it. 😊

Yeah! no problem :)

chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue May 17, 2024
- add search bar style adjustments
chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue May 17, 2024
- adjust tags side menu and remove from workflow
- add in second side menu
- add How To write Post page
- add more styles
chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue May 17, 2024
- add example post page layout
- add all links to side menu
chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue May 17, 2024
- readd post width 100%; imgs are not all same size this way
- add border to post
- change menu text color
- save 3 sample posts to use for preview - will need deletig
chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue May 17, 2024
- update file names
chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue May 18, 2024
- change file name
chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue May 18, 2024
- change updated file name
- fix wrong example link
- fix wrong div placement
crandmck added a commit that referenced this issue Jul 22, 2024
* Issue #1483
- add blog post to header
- add min height to posts page
- add blog/posts index page

* Issue #1483
- add single template style to posts page; will handle all post displays
- build posts template styles

* Issue #1483
- add futher posts index styles (based on shopify blog UI)
- remove parens in liquid

* Issue #1483
- liquid func to strip out top part of excerpt
- add active to first item

* Issue #1483
- add gutter links for tags
- add JS to handle gutter tags
- add CSS for gutter + posts
- add blog specfic layout

* Issue #1483
- add search bar style adjustments

* Issue #1483
- adjust tags side menu and remove from workflow
- add in second side menu
- add How To write Post page
- add more styles

* Issue #1483
- add example post page layout
- add all links to side menu

* Issue #1483
- readd post width 100%; imgs are not all same size this way
- add border to post
- change menu text color
- save 3 sample posts to use for preview - will need deletig

* Issue #1483
- update file names

* Issue #1483
- change file name

* Issue #1483
- change updated file name
- fix wrong example link
- fix wrong div placement

* PR #1519
- remove example post
- add Posts menu to gutter

* PR #1519
- add href to posts menu
- add styles to post menu
- adjust dark styles to post menu

* PR #1519
- adjust posts filter author
- add Welcome post

* PR #1519
- small text changes

* PR #1519
- revamp write a post instructions
- re-name css variables
- increase post font size
- add custom image to blog
- add comment about img

* PR #1519
- adjust headings
- small adjust content

* PR #1519
- add new line about pre-approval

* Update css/style.css

Co-authored-by: Michael Esteban <[email protected]>

* PR #1519
- add bullet about how to use preview feature

* PR #1519
- fix typo

* fix typo

* Update 2024-05-25-welcome-post.md

Some edits to the initial blog post.

* Update 2024-05-25-welcome-post.md

- Add blank subtitle

* PR #1519
- remove image and related markup/css

* Add blog to jekyll config, update blog layout template

* PR #1519
- move more to config
- add conds to all to avoid errors in layout
- remove excerpt sep since it's not needed

* PR #1519
- remove quotes
- update write file

* PR #1519
- lower transition fade time

* Further changes, hopefully close to final

* Fix issues that Chris raised, etc.

* Add all posts to blog menu

* Change link for Blog menu item to latest post

* PR #1519
- add mobile styles to write.md image
- remove unused cond in post.html
- remove active class in post.md

* PR #1519 Small styles remove dummies
- remove dumm posts
- move inline styles from post
- remove css comments
- add small margins

* PR #1519
- Remove image
- undo css first child change

---------

Co-authored-by: Michael Esteban <[email protected]>
Co-authored-by: Rand McKinney <[email protected]>
@crandmck
Copy link
Member Author

Fixed by #1519

chrisdel101 added a commit to chrisdel101/expressjs.com that referenced this issue Nov 3, 2024
* Issue expressjs#1483
- add blog post to header
- add min height to posts page
- add blog/posts index page

* Issue expressjs#1483
- add single template style to posts page; will handle all post displays
- build posts template styles

* Issue expressjs#1483
- add futher posts index styles (based on shopify blog UI)
- remove parens in liquid

* Issue expressjs#1483
- liquid func to strip out top part of excerpt
- add active to first item

* Issue expressjs#1483
- add gutter links for tags
- add JS to handle gutter tags
- add CSS for gutter + posts
- add blog specfic layout

* Issue expressjs#1483
- add search bar style adjustments

* Issue expressjs#1483
- adjust tags side menu and remove from workflow
- add in second side menu
- add How To write Post page
- add more styles

* Issue expressjs#1483
- add example post page layout
- add all links to side menu

* Issue expressjs#1483
- readd post width 100%; imgs are not all same size this way
- add border to post
- change menu text color
- save 3 sample posts to use for preview - will need deletig

* Issue expressjs#1483
- update file names

* Issue expressjs#1483
- change file name

* Issue expressjs#1483
- change updated file name
- fix wrong example link
- fix wrong div placement

* PR expressjs#1519
- remove example post
- add Posts menu to gutter

* PR expressjs#1519
- add href to posts menu
- add styles to post menu
- adjust dark styles to post menu

* PR expressjs#1519
- adjust posts filter author
- add Welcome post

* PR expressjs#1519
- small text changes

* PR expressjs#1519
- revamp write a post instructions
- re-name css variables
- increase post font size
- add custom image to blog
- add comment about img

* PR expressjs#1519
- adjust headings
- small adjust content

* PR expressjs#1519
- add new line about pre-approval

* Update css/style.css

Co-authored-by: Michael Esteban <[email protected]>

* PR expressjs#1519
- add bullet about how to use preview feature

* PR expressjs#1519
- fix typo

* fix typo

* Update 2024-05-25-welcome-post.md

Some edits to the initial blog post.

* Update 2024-05-25-welcome-post.md

- Add blank subtitle

* PR expressjs#1519
- remove image and related markup/css

* Add blog to jekyll config, update blog layout template

* PR expressjs#1519
- move more to config
- add conds to all to avoid errors in layout
- remove excerpt sep since it's not needed

* PR expressjs#1519
- remove quotes
- update write file

* PR expressjs#1519
- lower transition fade time

* Further changes, hopefully close to final

* Fix issues that Chris raised, etc.

* Add all posts to blog menu

* Change link for Blog menu item to latest post

* PR expressjs#1519
- add mobile styles to write.md image
- remove unused cond in post.html
- remove active class in post.md

* PR expressjs#1519 Small styles remove dummies
- remove dumm posts
- move inline styles from post
- remove css comments
- add small margins

* PR expressjs#1519
- Remove image
- undo css first child change

---------

Co-authored-by: Michael Esteban <[email protected]>
Co-authored-by: Rand McKinney <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants