You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here is a snippet of my repo structure and what I am trying to do, but I have been struggling for 3 weeks on getting this thing to work. love the tool but the input path project root versus input filters vs mapped input path vs globbing is very hard to get working or to understand how the statiq platform is using the paths. I get the theory, but in practice, the paradigm is very different from normal storage providers. Any help is appreciated.
The main issue is md files are not generated, but I can get api content to generate from source files etc. I also can't exclude certain things AND other markdown content is not generating.
The folder structure is not weird, but it doesn't fit the statiq paradigms
dotNetBlocks.docs/src/bin/debug/net9.-/ - ROOT of running app, output of csproj build
So this gives you the landscape
Snippet see below.
SUMMARY
zero Markdown generated, have problems including, excluding different types of contents from /tools, /src, /docs, /docs / output.
running dotNetBlocks.docs in the debugger, I can get the themes set properly as settheme "themes/docable",
Using the filesystem I can calculate relative paths and force new locations for cache, temp. I can force the output into /docs/output - generate api
BUT, DONT get ANY MD content
can't exclude the dotNetBlocks.docs/src and content from the output OR /tools/dotNetBlocks.docs
CANT' get content (markdown generated for ( /docs/), exlude docs/outpu/, include any md docs in dotNetBlocks.docs/src / *_ _.md
I have tried a LOT of different approaches - changing the root folder, RELATIVE pathing to the exe folder, specifying input paths, relative input paths, excluded paths, mappedinput paths,
and a TON of different input path combinaations.
BUt nothing, so no I am reaching out in desperation.
I wanted my output to be a sub-folder of my docs, for all markdown in my docs and any markdown in my src folders to be included and the output be in the sub-folder. Still can't make that work, but I have a livable working solution after over 5 weeks.
Had to update the root relative to the binary folder location, so I can set the temp and cache folders and prevent stuff writting to my project root or source folders.
the output folder cannot be anywhere near the docs folder for this to work. I had to make a "docs_site" for output that is a sibling to the docs folder. Then I had to add the docs folder manually
assembly, source files, projects, sln paths - I had to create new globs for them. For this process, I used the bootstrap.Filesystem.GetFiles() method in a watch window and used the ienumerable visualizer to see the results.
To get a better idea of what the brace glob expansion does, I added this piece of code to get an idea of what the braces and globber does.
Glob path negation is not working as expected, and the combination of different input paths etc and globber is really hard to work with.
Suggestion - adding a global exclusion would help a lot e.g. include src/. but always exclude "bin, .git" etc.
internal static MethodInfo expandMethod = typeof(Globber).GetMethod("ExpandBraces", BindingFlags.NonPublic | BindingFlags.Static) ?? throw new InvalidOperationException("Cant find expandBraces");
internal static IEnumerable ExpandBraces(string pattern)
=> expandMethod.Invoke(null, new object[] { pattern }) as IEnumerable ?? new string[] { };
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Here is a snippet of my repo structure and what I am trying to do, but I have been struggling for 3 weeks on getting this thing to work. love the tool but the input path project root versus input filters vs mapped input path vs globbing is very hard to get working or to understand how the statiq platform is using the paths. I get the theory, but in practice, the paradigm is very different from normal storage providers. Any help is appreciated.
The main issue is md files are not generated, but I can get api content to generate from source files etc. I also can't exclude certain things AND other markdown content is not generating.
The folder structure is not weird, but it doesn't fit the statiq paradigms
Here is a link to github repo (can't remember what stage thi is in right now honestly, but its context.)
https://github.com/dotnetCollective/dotnetBlocks/tree/features/system-io
Here is a conceptual description: (high level)
Misc folders
-dotNetBlocks/images (don't care)
tools - THIS is interesting - IGNORE BUT, the Statiq app, exe, is in a subfolder here!!
dotNetBlocks/folders mainly ignore.
THE Details MEAT!
Statiq docs is run from an exe here
dotNetBlocks/tools/dotNetBlocks.docs/src/ (this is where statiq csproj lives
So this gives you the landscape
Snippet see below.
SUMMARY
zero Markdown generated, have problems including, excluding different types of contents from /tools, /src, /docs, /docs / output.
running dotNetBlocks.docs in the debugger, I can get the themes set properly as settheme "themes/docable",
Using the filesystem I can calculate relative paths and force new locations for cache, temp. I can force the output into /docs/output - generate api
BUT, DONT get ANY MD content
can't exclude the dotNetBlocks.docs/src and content from the output OR /tools/dotNetBlocks.docs
I have tried a LOT of different approaches - changing the root folder, RELATIVE pathing to the exe folder, specifying input paths, relative input paths, excluded paths, mappedinput paths,
and a TON of different input path combinaations.
BUt nothing, so no I am reaching out in desperation.
Beta Was this translation helpful? Give feedback.
All reactions