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 comparison between SSG #247

Merged
merged 3 commits into from Mar 12, 2018
Merged

Add comparison between SSG #247

merged 3 commits into from Mar 12, 2018

Conversation

Keats
Copy link
Collaborator

@Keats Keats commented Mar 7, 2018

No description provided.

| Automatic header anchors | ✔ | ✕ | ✔ | ✔ |
| Aliases | ✔ | ✕ | ✔ | ✔ |
| Pagination | ✔ | ✕ | ✔ | ✔ |
| Custom taxonomies | ✕ | ✕ | ✔ | ✕ |
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@epage anything I got wrong for Cobalt or a feature I missed?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In case you are interested in linking to the issues

Also could you clarify something for me. I assume the only place worth doing pagination is in a ToC, so why are they listed separately?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not going to link to issues to keep it short.

I assume the only place worth doing pagination is in a ToC, so why are they listed separately?

Hmm why would have pagination in a ToC? A ToC is like what I'm using for the left menu of https://tera.netlify.com/docs/installation/ for example.
Pagination is for pages like a blog or sometimes for taxonomies like the tags/some-tag list pages where you list all pages.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, didn't look too closely at what a ToC is and assumed it was an index.

README.md Outdated
| Single binary | ✔ | ✔ | ✔ | ✕ |
| Language | Rust | Rust | Go | Python |
| Syntax highlighting | ✔ | ✔ | ✔ | ✔ |
| Sass compilation | ✔ | ✔ | ✕ | ✔ |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sass is not yet enabled by default yet, see cobalt-org/cobalt.rs#99

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at the issue, I think you should be able to enable it without any issue but i'll change it to a cross in the meantime.

README.md Outdated
| Language | Rust | Rust | Go | Python |
| Syntax highlighting | ✔ | ✔ | ✔ | ✔ |
| Sass compilation | ✔ | ✔ | ✕ | ✔ |
| Assets co-location | ✔ | ✕ | ✔ | ✔ |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean by this?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Being able to have a folder with images/other files next to the .md like https://github.com/Keats/gutenberg/tree/master/test_site/content/posts/with-assets

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is exclusively how cobalt works.

I didn't even realize gutenberg supported this because I saw reference to a static folder in the docs but saw no other reference to assets being able to sit next to everything else.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah I missed that, I'll fix it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does it work in Cobalt if you each .md has a screenshot.png file with it? Can you put the .md in a folder or do you have to have a unique asset name across the site?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure of the question which makes me wonder if there is a feature implicit in the question that gutenberg has that cobalt doesn't.

Assets do not need to have unique names. They are copied straight over from the site source to the destination.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have a look at https://github.com/Keats/gutenberg/tree/master/docs/content/themes

This is generated from a git repository and they are all called screenshot.png. You obviously can't put several screenshot.png in the same folder so you have 2 choices:

  • rename them to have unique names
  • put them in a subfolder (what I am doing there)

If you put them in a subfolder, you might run into a destination path issue depending on how cobalt is setup up. In the above I want the path to be themes/after-dark/ for example, not themes/after-dark/index without having to edit the path manually in my front-matter. What would be the paths for those pages in Cobalt?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, so the concern is when having files assets with pages that use path/ instead of path.html.

themes/after-dark/index.md would be written to disk as themes/after-dark/index.html.

cobalts default permalink is /{{parent}}/{{name}}{{ext}} and since we are appending the extension, we don't append a /index.html to it.

If someone overrides the permalink to not include an extension, then they will run into the problem you mentioned.

| Automatic header anchors | ✔ | ✕ | ✔ | ✔ |
| Aliases | ✔ | ✕ | ✔ | ✔ |
| Pagination | ✔ | ✕ | ✔ | ✔ |
| Custom taxonomies | ✕ | ✕ | ✔ | ✕ |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In case you are interested in linking to the issues

Also could you clarify something for me. I assume the only place worth doing pagination is in a ToC, so why are they listed separately?

README.md Outdated
| i18n | ✕ | ✕ | ✔ | ✔ |
| Image processing | ✕ | ✕ | ✔ | ✔ |
| Search | ✕ | ✕ | ✕ | ✔ |
| Sane template engine | ✔ | ✔ | ✕✕✕ | ✔ |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean by "sane"? Should this instead name the template syntax used with a link to it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly whether the template engine will drive you insane when you try to make a nice design. That line is very subjective but I will keep it like that, it's the initial reason of Gutenberg existence after all :)

| Table of contents | ✔ | ✕ | ✔ | ✔ |
| Automatic header anchors | ✔ | ✕ | ✔ | ✔ |
| Aliases | ✔ | ✕ | ✔ | ✔ |
| Pagination | ✔ | ✕ | ✔ | ✔ |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should there be a row for listing supported text formats like markdown?

What about data files and supported formats?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should there be a row for listing supported text formats like markdown?

Good point I'll add that.

What about data files and supported formats?

Do you mean https://gohugo.io/templates/data-templates/ ? I've never used that, I'll need to read it first.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean https://gohugo.io/templates/data-templates/ ? I've never used that, I'll need to read it first.

Yup, jekyll has it too.

I've not used it yet either, so I'm too familiar with use cases for it. I just saw it used elsewhere, saw it was trivial to implement with serde, and implemented it :).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have to say, even the examples in the Hugo and Jekyll docs make it look useless. I can see the getJSON or getCSV from Hugo being useful but it's orthogonal to the concept of data files. I'll add it for completeness though

@epage
Copy link

epage commented Mar 12, 2018

btw Thanks for putting this together!

This will also be helpful for guiding feature development. What gets highlighted is an interesting insight into what people feel are important.

@Keats Keats merged commit 115033a into master Mar 12, 2018
@Keats Keats deleted the comparison branch March 12, 2018 16:59
@Keats
Copy link
Collaborator Author

Keats commented Mar 12, 2018

Thanks for the review!

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

Successfully merging this pull request may close these issues.

None yet

2 participants