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
Restructure project file tree and build sources #211
Comments
Comment left by @bddenhartog on Apr 10 2017 19:56 PM UTC (source)
|
Comment left by @epage on Apr 10 2017 21:40 PM UTC (source)
|
Yes, my previous comment is suggesting using a
Then, of course, constraining I realize that some of the points I've touched on can be configured through |
RE: changing defaults I concur that we should re-evaluate the defaults. You mentioned the problem with project files being mixed in with cobalt files. There is also the awkwardness of the destination being included in the source, requiring special work for cobalt to ignore it. As an aside, in thinking about what are the selling points of cobalt.rs, I figure performance should be one and am looking for how we can design for performance where it doesn't compromise the workflow for the user (that last part being very subjective). How configurable do all of these nobs even need to be? I'm curious what the use cases are. RE: I appreciate trying to get the cruft out of the way but I personally lean against changing the layout in this way. I feel that it isn't so unimportant that they should be put into hidden folders though, out of sight of the user, common search tools, etc. For example, someone might want to search the site for content they see on the page and they should be able to find it in the template/layout without resorting to guessing its in a hidden folder and enabling searching of them. See also my next comment @johannhof any thoughts on this? RE: "posts" subfolder My plan was to actually change the default to My motivation is two part
This would be done by leveraging cobalt's ignoring of "_" prefix files and folders rather than getting rid of it. Jekyll set a precedence for this and I think it is a reasonable one to keep with. |
Agreed - as far as the ability to configure goes, I think one of the goals of sane, logical defaults is that most users probably won't want/need to configure any of these paths. That said, some people may want to organize their app in a different way -- I think it would be pretty straightforward to have some baked-in default values (which will be needed to populate the initial
I can understand your position, and can agree that the potential for the leading dot to hide the skeleton files and templates (and any other files that may be added in the future) might not be ideal (although I'd argue that developers are used to doing config-type-things inside of directories with preceding dots). That said, do you think those subfolders should be exposed at the root level themselves, or simply contained in a "public" directory, like
I am highly against this change. In terms of a static site, "posts" are really just pages themselves (unlike a dynamic site, where a post may simply be database content pulled into a page). I don't think we should really care how the user organizes their app - what if I want to store my "posts" in a
Unless I'm misunderstanding you, I think we can do this by simply not caring about "posts", and instead just building everything inside of the source directory. The source file tree defines the "collections"; the user structures their site however they want simply by creating files and folders where they want them to exist. |
The challenge is deciding how much to make configurable and in what ways. Should "cobalt/" be configurable? All the "skel", "template", etc folders? It helps to know what problems people are trying to solve to figure out how to structure things.
I do like the idea of centralizing all of the non-content folders separate from content. It cleans things up and we avoid having to ignore these files when walking the content. |
Ah, I see what you're getting at. In my opinion, no, these paths shouldn't be configurable, as they are used by the builder. We can introduce structure and organization in the form of the |
What should be our draft vs published semantics be? Is there value in a separate "_drafts" folder or should we look into other means like setting a "isDraft" property in the front matter? I started asking this question when considering a Different ideas on this
|
See also #301 for a more specific case of changing the structure. |
epage:
I realized why this isn't the case. There are two approaches to structuring a site
I think these are both valid cases to support. The question is what is the best way to get all of this right. For example, if a path has a leading |
btw #199 and #311 are the core of the changes to the folders including defaults and what is configurable. As a general rule, one of the things I've started considering is how hard it will be to migrate existing clients when making these breaking changes. That isn't my only reason though. If something is important enough, we'll change it. It just impacts smaller preferences. RE: layouts -> templates I'm leaning against this. I feel like layout is more descriptive and template would be better suited for describing the templating done (ie Liquid), see #331. RE Centralizing the non-content folders. I'm leaning against this. It is nice to collect all of the non-content folders but adding depth makes things more annoying to edit. RE Most git The reason we are hiding these non-content folders is
While I am going to go ahead and close this, I won't say its the final word. If someone wants to contend any of these points, you are welcome to do so. I am trying to get the major breaking changes out of the way soon (see milestones), so time is relatively short (weeks ideally). |
Conversation pulled from #209 (review).
The text was updated successfully, but these errors were encountered: