-
Notifications
You must be signed in to change notification settings - Fork 105
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
Static files with custom paths #338
Comments
So let me see if I understand. You keep your post and its assets in a folder but are using a custom path for the post. This means you can't just use a relative path to the assets because they end up in a different location. So you'd like some way of knowing where they end up. One solution would be to expose a variable to your post that is the path it would exist in if you didn't use a custom path. The hard thing will be to come up with a meaningful name for this. Suggestions? |
Also, to talk real quick on workflows. I assumed people would take one of two approaches
What you seem to be doing is a hybrid
Could you help me understand why you chose this workflow? Why is this helpful?
|
Hi! Thanks for the reply. For context, the site is Twinleaf. We're using custom-path posts for products. It would just be handy to have the assets in the same folder as the post in this case: keeps the thing photos with the thing page. Honestly I was just looking for a handy templating system and just bent cobalt posts to our needs. |
Cool!
Down the road, I plan to generalize support for "posts" so you can have custom defined "collections" so it'll seem like less of an abuse of cobalt :)
And I think that can be neat. The hard part is coming up with how to configure this so it makes sense. |
Having a {{source_dir}} that I could place before each image link would work for now. Same as {{source}} without the file name. |
I think doing that minimal level is reasonable. btw I was considering getting rid of |
Agreed on the uselessness of {{source}}. |
The reason for Currently document's have So another option When implementing features, I like to also consider prior art
I feel like Hugo's (sorry if it feels I'm over thinking this;; I'm trying to plan features ahead of time to avoid changing them and disrupting people. I've already got one major disruption planned, I'd rather not have more).
Found the reason for it:
|
This can be used for referencing assets in the folder the file came from. Fixes cobalt-org#338
Perfect. Thanks. |
This release focused on unleashing a lot of breaking changes that have been stacking up for a while which also expose a lot of features that have been inaccessible. The hope is that from now on, breaking changes will be minor (like small changes to config) rather than sweeping changes to every file like this. Bug Fixes * Reducing logging noise ([a7acd2c](a7acd2c)) * **rss:** Don't error if the RSS folder doesn't exist. ([357cb4b](357cb4b)) * **watch:** Don't stop on error ([3c4d086](3c4d086), closes [#347](#347)) Features * Migrate support for changing _layouts to _includes ([28ae870](28ae870)) * **config:** * Change .cobalt.yml to _cobalt.yml ([c4ee83b](c4ee83b), closes [#348](#348)) * Stablize the format ([34e9d54](34e9d54), closes [#199](#199), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/), [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **front:** * Stablize fronmatter format ([9089c72](9089c72), closes [#257](#257), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Change date to YYYY-MM-DD ([1e19ae0](1e19ae0), closes [#349](#349), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Change permalink variable names ([e78b806](e78b806), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Change permalink to well-defined format ([c6c4d7a](c6c4d7a), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Standardize permalink behavior ([6730eb6](6730eb6), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **excerpt:** Better define non-existent behavior ([129c574](129c574)) * **page:** * Upgrade liquid ([2ec3f24](2ec3f24)) * Generalize is_post / posts ([d280a35](d280a35), closes [#323](#323), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Make page variables future-proof ([6f62dea](6f62dea), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * page.file.parent variable ([dce1d59](dce1d59), closes [#338](#338)) * **serve:** * Adjust base_url for localhost ([e75e139](e75e139), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Merge `serve` and `watch` ([d2f22d5](d2f22d5), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **debug:** * Report asset files ([5d77b7f](5d77b7f)) * Generalize debug commands ([087d991](087d991), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) Breaking Changes `cobalt migrate` was created to help mitigate the cost of most of these breaking changes. * **config:** Stablize the format ([34e9d54](34e9d54), closes [#199](#199), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/), [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **debug:** Generalize debug commands ([087d991](087d991), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **front:** * Change date to YYYY-MM-DD ([1e19ae0](1e19ae0), closes [#349](#349), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Change permalink variable names ([e78b806](e78b806), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Change permalink to well-defined format ([c6c4d7a](c6c4d7a), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Standardize permalink behavior ([6730eb6](6730eb6), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Stablize fronmatter format ([9089c72](9089c72), closes [#257](#257), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **page:** * Liquid errors on undefined variables ([2ec3f24](2ec3f24)) * This was done to help catch migration problems and to move us in the direction of easier debugging of problems * The restriction might be loosened in some cases (like `{% if var %}`). * Generalize is_post / posts ([d280a35](d280a35), closes [#323](#323), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Make page variables future-proof ([6f62dea](6f62dea), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **serve:** * Adjust base_url for localhost ([e75e139](e75e139), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Merge `serve` and `watch` ([d2f22d5](d2f22d5), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) Performance * **serve:** Reduce duplicate rebuilds ([8f2679c](8f2679c))
Let's say you have a post in a subdirectory, posts/post_dir/ with some static files/images. This builds:
Is there a way to obtain reference where those images wind up so that I don't have to hard code the path? "/posts/{{source}}" almost works, but I only want the path, without the page file. I could use something like "/posts/{{source_path}}"? Otherwise I have to hard code the paths to the static files. Copying the images to the custom path, I imagine, is a non-starter because they might be referenced by more than one pages.
The text was updated successfully, but these errors were encountered: