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

Adding a Build Step #21

Open
bnb opened this issue Jun 30, 2016 · 7 comments
Open

Adding a Build Step #21

bnb opened this issue Jun 30, 2016 · 7 comments

Comments

@bnb
Copy link
Member

bnb commented Jun 30, 2016

After the discussion in the Web Team meeting, @lewiscowper suggested that we add a build step to create the events pages. The rest can remain static HTML/CSS - although, we would want to include the build process to some degree on the homepage to add the links to new pages and add a Next Event section (issue incoming).

@lewiscowper suggested that the build step pull event data from a JSON file - I also suggested that it be published to the site so others can query it if they wish. The basic event would need to include the bare minimum information (please suggest more!)

  • Event Name
  • Date
  • Time
  • ISO8601 Timestamp for easy conversion / SEO
  • Location
  • Location Name
  • Location Street Address
  • Location City, State/Province, Country, Address Code
  • Sponsors
  • Primary Sponsors
  • Event Sponsors
@fredericmarx
Copy link
Collaborator

Some automation definitely sounds like a good idea here.

I would suggest using an existing static site generator like Jekyll or Metalsmith, and Markdown files instead of a custom JSON solution. That way we can make use of templating on other pages too.

Also I believe it's more straightforward to add a new Markdown file for each event instead of maintaining one big JSON file.

I still like the idea of publishing JSON data that people can query. That should be no problem to generate from the Markdown files as well.

I have some experience setting up Metalsmith and can help with that, if needed :)

@bnb
Copy link
Member Author

bnb commented Jul 2, 2016

@fredericmarx I'm definitely comfortable with Metalsnith. However, we discussed this in the Team Meeting, and @lewiscowper stated he'd prefer to not use a SSG like Jekyll/Metalsmith. @ashleygwilliams what are your thoughts?

@lewiscowper
Copy link

I primarily thought we could keep dependencies light, and for people who wanted to fix a typo/add a style etc, we wouldn't, and shouldn't, need them to have npm installed on their machines just to confirm that it works.

Adding a templating library is a super easy thing for us to suggest, but we already have access to machines which are already set up to do it in one line, and someone who's never done OSS contributing before might not have that.

I think we should make as much as we possibly can easy enough to confirm a fix by navigating to the file:///path/to/index.html in their web browser. We can add in a live-server dependency and script or whatever so that someone who wants to set up a dev environment can do so, but we shouldn't depend on tooling to build the whole site every time.

It's like progressive enhancement but for contributor experience.

@fredericmarx
Copy link
Collaborator

Hi @lewiscowper,

for people who wanted to fix a typo/add a style etc, we wouldn't, and shouldn't, need them to have npm installed on their machines just to confirm that it works.

I really like that idea! Adding some progressive enhancements on top of plain HTML is totally something you can do with a tool like Metalsmith.

I built a proof of concept for how such a setup could look like. Feel free to comment / steal / whatever :)

https://github.com/fredericmarx/progressive-ssg-example

@bnb
Copy link
Member Author

bnb commented Jul 6, 2016

@fredericmarx I've been using Metalsmith for about 8 months. I've definitely loved it a lot. However, in that time, I've seen little development of the community or the tool. The last commits were on May 20th.

I am worried about the longevity of Metalsmith - ideally, whatever we end up with is going to serve us for a long time - that includes updates and fixes to issues.

I'm not sure whether or not Metalsmith is going to be able to uphold that, unfortunately.

Do you have any thoughts on that?

@bnb
Copy link
Member Author

bnb commented Jul 6, 2016

In addition to that, I just looked at the dependencies for Metalsmith, and several of them are severely out of date. That's typically not ideal for a group of people learning to use Node/work on a static site, as they could be facing issues that have already been solved.

@fredericmarx
Copy link
Collaborator

Hi @bnb,

I just thought from what it does and how it does it, Metalsmith looked like a pretty decent solution to the problem at hand. You're right though, that development doesn't look too promising.

I have no strong opinion here one way or the other.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants