Which Static Site Generator can generate pages by just iterating through an assets directory of images (without any content format (e.g. MD) files)?
As you already mentioned, I am not aware of any SSG which is triggered by images, but I guess there are some Gallery tools out there.
As a workaround, you could use jBake with groovy templates.
Place one index file in your root directory and use Groovy within your template to iterate over the images.
What is the recommended practice with static site generators: page1/index.md or page1.md?
Either way works in Eleventy, so it’s entirely a question of which way you prefer, which works best for how you like to arrange files and directories, and so on (https://www.zachleat.com/web/introducing-eleventy/#directory-structure-flexibility).
In other SSGs — notably Gatsby, Gridsome, and Hugo — one factor to keep in mind is that images for which you want special processing are best located in the same directories as the Markdown or other content files which “call” them, as relative file paths are required by the appropriate plugins or pipes:
Gatsby: “If any of the [image] paths used do not resolve to a file[,] Gatsby will not create child nodes, instead leaving the [path] value as a string.” (https://www.orangejellyfish.com/blog/a-comprehensive-guide-to-images-in-gatsby/)
Gridsome — “Only local, relative image paths will be compressed by Gridsome.” (https://gridsome.org/docs/images/)
Hugo — “The image is a Page Resource, and the [image] processing methods listed below does not work [sic] on images inside your /static folder.” (https://gohugo.io/content-management/image-processing/)
This is not a consideration with Eleventy, however.
Data-backed static site generator?
While I haven't found an equally powerful, statically typed option, it looks like Jekyll's Collections functionality is exactly what you're looking for. You create a file for each "DataObject" referred to in the question, and Jekyll runs through them and generates pages.
Static web site generation
I'm the creator of Middleman and would be eager to help you get comfortable using Middleman. My main goal is to give users the power of Rails, but focused on static development. Some of the actual code of Middleman is simplified versions of Ab
Porting an existing site to a static site generator
After your clarification in comment the answer is: yes, you can initialize Sculpin in your site directory - it shouldn't delete anything.
I'd do it this way:
2. create a copy of your current page
2. initialize sculpin in the copied directory
3. extract pages content into markdown files and put them in ./source/_posts/
4. prepare layout with new headers and footers
5. run sculpin generate
6. check result in output_dev
7. fix errors and regenerate
Sculpin is nice because it copies all the files that are in your sculpin directory to generated page - if you put some .html files there, they'll end up in generated folder.
Only problem could be that if you have pages (html files), that have the same filename as the result of the process of generating content from markdown they'd probably be overwritten in output directory.
Oww, you also mentioned composer and getting sculpin from github - yes, this could go wrong - why do you want to have local sculpin copy instead of global install - it's not needed in page source - you only need layout and config there.
Hugo (go static site generator) list for specific URLs
At this point the documentation is a little bit hard to order. I am going to link the important topics to the hugo documentation so that you are able to read more details. After looking to your Content Organisation there are two Sections:
- blog-folder-1
- blog-folder-2
So inside your theme you are able to define one template for each section. If there is no template provided hugo uses the default.
So inside your layouts folder there is that logic: /layouts/SECTION/LAYOUT.html
For your case you can define a default layout. When for example blog-folder-2 needs another template your structure would look like this:
layouts/
▾ _default/
single.html
▾ blog-folder-2/
single.html
If you want to filter out one section inside a list, you need to use the page variables.
At that points where you are ranging over the sites you can add a where clause:
{{ range $i, $p := (.Paginate (where .Data.Pages "Section" "!=" "blog-folder-2")).Pages }}
Related Topics
"No Available Formula for Gcc46" While Installing Ruby 1.9.3 on Os X with Rvm:
How to Merge Two Hashes That Have Same Keys in Ruby
How to Jump from Do to End of a Ruby Block Using Vim
Watermark in Existing PDF in Ruby
How to Run Ruby in Haml in JavaScript Definition
How Does Ruby Handle Array Range Accessing
How to Download a Ruby Gem Without Installing It Automatically
Best Way to Use HTML5 Data Attributes with Rails Content_Tag Helper
Checking If Activerecord Find Returns a Result
Factory_Girl + Rspec Doesn't Seem to Roll Back Changes After Each Example
Terminal Not Executing Ruby Files
Celluloid Async Inside Ruby Blocks Does Not Work
What Are Factory_Girl Transient Attributes? Why Would I Use One
How to Get Systemd to Restart Rails App with Puma
Preventing Delayed_Job Background Jobs from Consuming Too Much CPU on a Single Server