I am looking to automatically set the title and the weight from the filename. Is such a feat possible?
For example, If I have filenames like follows;
I want the first file to have the following frontmatter somehow;
Title: My Single Page
My motive for doing this is that I use hugo for writing documentation and I think by logic instead of alphabetised in my head. My editor orders all the files alphabetically, so I prefix all my files with numbers to allow me to visualise them to the same logical that is in my head. Does anyone have any suggestions?
Thank you kindly
The variable you are looking for is
.File.BaseFileName You can read here about Hugo’s File Variables.
Then you would need to pipe the above variable with the
replaceRE function to remove parts of the variable output with Regular Expression and store it in a different variable for use in your templates.
Note that the above can only be used in Hugo Archetypes
Thank you kindly onedrawingperday. I will give that a shot and see what happens.
Would you suggest it would be better practice to perhaps use my own variables rather than attempting to overwrite the standard ones? For example. TitleByFilename and WeightByFilename …then just use those in the appropriate places?
You cannot overwrite
.File.BaseFileName or any other Hugo template variable for that matter as far as I know.
You can define a new variable after performing Hugo functions against a template variable.
But the value of
.File.BaseFileName will always be that of the actual file name without the extension.
Name custom variables whatever you want but remember that the new variables will always have the dollar sign e.g.
Thank you onedrawingperday, you have been most helpful. Really appreciate your thoughts and time. I have confidence this will do what I want…so off I go…