wyam2 / wyam Goto Github PK
View Code? Open in Web Editor NEWA modular static content and static site generator written in .NET. Fork of Wyam project.
Home Page: https://wyam2.github.io/
License: MIT License
A modular static content and static site generator written in .NET. Fork of Wyam project.
Home Page: https://wyam2.github.io/
License: MIT License
Hello, My English is poor. Below is a machine-translated version.
In the Metadata document, there is an example with a "Date" field, but it is actually invalid. Could you please change it to "Published" instead? (This issue caused an error during generation and confused me for a few minutes: Could not parse published date for file
)
Also, I would like to ask if you can provide all the options for Metadata?
Issue by 18konoe
Wednesday Feb 19, 2020 at 10:53 GMT
Originally opened as Wyamio/Wyam#1
I started to create a new shortcode dll with Wyam.Common package following steps but my project could not solved reference under Wyam.Common namespaces. (e.g. create a new shortcode class implement IShortcode interface.)
It works fine that Download Wyam.Common.nupkg and rename ext to zip, then I extract dll file and add the reference directly.
Issue by johanvergeer
Tuesday Jun 18, 2019 at 20:00 GMT
Originally opened as Wyamio/Wyam#7
Could you show a full example on how to add a module to the RenderBlogPosts
pipeline, without breaking the existing pipeline. The reason I'm asking is because I want to insert the SearchIndex module. I got the search functionality to work, but now the layout is messed up.
My guess is that it should be something like this, but that doesn't work. I would prefer to have a generic example, which could also be included in the documentation.
int renderBlogPostsIndex = Pipelines.IndexOf(Blog.RenderBlogPosts);
Pipelines.Remove(Blog.RenderBlogPosts);
Pipelines.Insert(
renderBlogPostsIndex,
Blog.RenderBlogPosts,
ReadFiles("posts/*.md"),
FrontMatter(Yaml()),
Meta("SearchIndexItem",
new SearchIndexItem("/" + @doc.String(Keys.RelativeFilePathBase), @doc.String("Title"), @doc.Content)
{
Description = @doc.String("Description"),
Tags = @doc.String("Tags")
}
),
Markdown(),
Excerpt(),
Razor(),
WriteFiles(".html2")
);
Pipelines.Add("SearchIndex",
Documents(Blog.RenderBlogPosts),
SearchIndex((FilePath)"stopwords.txt"),
WriteFiles((doc,ctx) => string.IsNullOrEmpty(doc.Content) ? null : "searchindex.js").UseWriteMetadata(false)
);
Issue by jairbubbles
Monday Jun 04, 2018 at 13:56 GMT
Originally opened as Wyamio/Wyam.Web#71
Looks like that in website:
While it's clean in source code:
Just missing the table extension in markdig?
Issue by CharliePoole
Wednesday Aug 05, 2020 at 14:54 GMT
Originally opened as Wyamio/Wyam.Web#95
At https://wyam.io/recipes/docs/settings in the documentation the entry for DocsKeys.AutoLinkTypes says...
Controls whether type names from the API enclosed in code fences in either blog posts or content pages should be automatically linked to the corresponding API documentation page (the default is true).
It took me quite a bit of time experimenting to figure out why this wasn't working for me. Reading the code and learning that it actually looks for a <code>
element in the html put me on track finally.
I eventually learned through experimentation that the following generate a link in a .md
file...
The following don't work, even though the documentation led me to try them
I understand that you are not updating Wyam these days but an update to the docs would be nice. If I read the code correctly, however, the info on that particular page is pulled from the Wyam code itself. Would you accept a PR to fix it?
Steps to reproduce
It will fail with this:
========================================
Generate-Themes
========================================
Executing task: Generate-Themes
Cleaning directory D:/Simona Avornicesei/Projects/Wyam2/docs/scaffold
Executing: "dotnet" D:/Simona Avornicesei/Projects/Wyam2/docs/tools/Wyam.2.2.9/tools/netcoreapp2.1/Wyam.dll new --recipe "blog" "D:/Simona Avornicesei/Projects/Wyam2/docs/scaffold"
Could not execute because the specified command or file was not found.
Possible reasons for this include:
* You misspelled a built-in dotnet command.
* You intended to execute a .NET program, but dotnet-D:/Simona does not exist.
* You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
An error occurred when executing task 'Generate-Themes'.
Error: System.AggregateException: One or more errors occurred. (Wyam: Process returned an error (exit code 1).) ---> Cake.Core.CakeException: Wyam: Process returned an error (exit code 1).
at Cake.Core.Tooling.Tool`1.ProcessExitCode(Int32 exitCode) in C:\projects\cake\src\Cake.Core\Tooling\Tool.cs:line 139
at Cake.Core.Tooling.Tool`1.Run(TSettings settings, ProcessArgumentBuilder arguments, ProcessSettings processSettings, Action`1 postAction) in C:\projects\cake\src\Cake.Core\Tooling\Tool.cs:line 119
at Cake.Wyam.WyamRunner.Run(WyamSettings settings)
at Submission#0.Wyam(WyamSettings settings)
at Submission#0.<<Initialize>>b__0_2()
at Cake.Core.CakeTaskBuilderExtensions.<>c__DisplayClass20_0.<Does>b__0(ICakeContext x) in C:\projects\cake\src\Cake.Core\CakeTaskBuilder.Execution.cs:line 82
at Cake.Core.CakeTask.<Execute>d__43.MoveNext() in C:\projects\cake\src\Cake.Core\CakeTask.cs:line 125
Issue by savornicesei
Wednesday Jul 22, 2020 at 16:40 GMT
Originally opened as Wyamio/Wyam#16
Hi @daveaglick ,
I'm trying to migrate NAnt documentation to wyam (and then to Statiq when Statiq.Docs will be stable and documented)
Pipelines.InsertBefore(Docs.RenderPages,"XMLSchema",
ReadFiles("release/**/*.xsd"),
Tree().WithMetadataNames(),
Meta(DocsKeys.ShowInSidebar, true),
Title("XML Schema"),
CopyFiles("release/**/*.xsd")
);
/*
Pipelines.InsertBefore(Docs.RenderPages,"XMLSchema",
ReadFiles("release/**/*.xsd.md"),
FrontMatter(Yaml()),
Title("XML Schema"),
WriteFiles(".xsd")
);*/
/*
Pipelines.InsertBefore(Docs.RenderPages,"XMLSchema",
ReadFiles("release/**.xsd"),
Tree(),
Meta(DocsKeys.ShowInSidebar, true),
Title("XML Schema"),
WriteFiles()
);
*/
I'm not sure how to generate the reference part of the documentation. I think the summary page(s) should look similar to Cake Add-Ins documentation but the actual documentation pages must show props and attributes in a specific order
Is it possible to use DirectoryMeta module to add metadata about the release version to all files from a release folder (e.g. /release/v0.92)? The documentation mentions some metadata document - should it be a markdown file with the needed metainfo in in in the root of the folder?
Being able to set a Version metadata to all docs would allow me to generate correct links for that release.
You can check my work here.
Thank you for any insights you can give me (and for the awesome work on Wyam and its succesor).
All the best,
Simo
Issue by augustoproiete
Tuesday May 11, 2021 at 01:51 GMT
Originally opened as Wyamio/Wyam#22
We've recently released new icons for Cake extensions, to help more easily differentiate Cake Addins, Modules, Recipes, etc.
More information: https://github.com/cake-contrib/graphics
Issue by BennieCopeland
Sunday Apr 21, 2019 at 09:11 GMT
Originally opened as Wyamio/Wyam#8
I have an AWS CodeBuild project using Ubuntu that fails due to a Segmentation Fault when using the Stellar theme. Issue does not appear when using the default theme.
Executing pipeline "Sass" (12/15) with 3 child module(s)
Executing module ReadFiles with 1 input document(s)
Read file /root/.nuget/packages/Wyam.Blog.Stellar.2.2.4/content/assets/sass/ie9.scss
Read file /root/.nuget/packages/Wyam.Blog.Stellar.2.2.4/content/assets/sass/ie8.scss
Read file /root/.nuget/packages/Wyam.Blog.Stellar.2.2.4/content/assets/sass/main.scss
Executed module ReadFiles in 7 ms resulting in 3 output document(s)
Executing module Sass with 3 input document(s)
Processing Sass for file:///root/.nuget/packages/Wyam.Blog.Stellar.2.2.4/content/assets/sass/ie8.scss
Processing Sass for file:///root/.nuget/packages/Wyam.Blog.Stellar.2.2.4/content/assets/sass/main.scss
Segmentation fault
Issue by augustoproiete
Monday Mar 15, 2021 at 05:11 GMT
Originally opened as Wyamio/Wyam#21
Closes #20
augustoproiete included the following code: https://github.com/Wyamio/Wyam/pull/21/commits
Issue by codeease1
Sunday Dec 15, 2019 at 05:01 GMT
Originally opened as Wyamio/Wyam#5
I am learning “Integrating Wyam Into An ASP.NET MVS Site” from this page. There are "Posts" and "Index" pipelines there and they are working well. However, I don't know how to add the following pipelines:
1: Generate a Tags (with links) page;
2: Generate an Archive (with links) page;
3: Generate tags with links for individual post;
The above three are actually in the current blog recipe. but I don't know how to have them if integrating Wyam into ASP.NET site?
Thanks!
Issue by tylerd
Friday Dec 13, 2019 at 18:09 GMT
Originally opened as Wyamio/Wyam#6
URL locations for licence and icon are being deprecated in favor of embedding files inside the NuGet package.
This appears in 2 places during the build.
Create-Library-Packages - Uses the DotNetCorePack
cake function, which pulls the configuration from the Directory.Build.props
file. This show up in the build as errors.
<PackageLicenseUrl>https://github.com/Wyamio/Wyam/blob/master/LICENSE</PackageLicenseUrl>
<PackageIconUrl>https://wyam.io/Content/images/logo-square-64.png</PackageIconUrl>
Create-Theme-Packages - Uses the NuGetPack
cake function with a NuGetPackSettings input object. Only the NU5125 licenceUrl Warning, not the IconUrl.
IconUrl = new Uri("https://wyam.io/assets/img/logo-square-64.png"),
LicenseUrl = new Uri("https://github.com/Wyamio/Wyam/blob/master/LICENSE"),
Issue by alanta
Sunday May 24, 2020 at 20:05 GMT
Originally opened as Wyamio/Wyam#12
Setting a custom model for a Razor view while also using a layout and viewstart file causes an error similar to this:
Exception while processing document /ViewStartAndLayout/Test.cshtml in module unknown: The model item passed into the ViewDataDictionary is of type 'System.Int32[]', but this ViewDataDictionary instance requires a model item of type 'Wyam.Common.Documents.IDocument'.
There are two new tests in this PR. There was no test yet for setting the view model from a delegate and the second test covers the error.
The fix I did doesn't seem to break any tests which seems, which makes me wonder why that line was there in the first place.
A bit of background: I'm working on a Wyam module that pulls in content from Kontent headless CMS. The client for that CMS supports strong typed content models which is something I'm also hoping to support with this module for Wyam.
alanta included the following code: https://github.com/Wyamio/Wyam/pull/12/commits
Issue by aateeque
Wednesday May 27, 2020 at 12:15 GMT
Originally opened as Wyamio/Wyam#13
I'd like to serve a Wyam site behind an nginx URL like:
http://mdomain.com/app/index.html
When I use the docs recipe and do a wyam publish
the relative paths to the resources (css, images, js) is all rooted (like /assets/..). How can I prepend "app" to these paths?
Issue by augustoproiete
Saturday Feb 13, 2021 at 16:15 GMT
Originally opened as Wyamio/Wyam#19
Closes #18
augustoproiete included the following code: https://github.com/Wyamio/Wyam/pull/19/commits
Cake 3.0.0 has been released 🎉
This is for the scenario where the wyam.config file gets too big, with lots of logic.
In case of NAnt2, it needs everything that the std. Wyam.Docs generates + the pipeline(s) to generate NAnt specific documentation:
Issue by rpriest1260
Friday May 01, 2020 at 16:31 GMT
Originally opened as Wyamio/Wyam#11
The latest Wyam version (2.2.9) does not appear to load nuget plugins, and thereby the Azure DevOps (ADO) credential manager (see Use NuGet with Azure DevOps Services feeds.) As such, it cannot handle the latest authentication techiques, and will fail to retrieve or access packages stored there. It should load the credentials, and make them accessible to all nuget http\s calls, as is done in the latest version of the Nuget.exe command line (4.8.2 ++). See Nuget.Client/Command.cs Line:209, for reference
In case of NAnt2, different links are generated for same documents (elements): one when generating the API and one when generating the NAnt2 documentation.
This might be needed if there's no other way to support this scenario and requires more details.
https://docs.microsoft.com/en-us/dotnet/standard/net-standard
https://dotnet.microsoft.com/platform/support/policy/dotnet-core
There will be issues with Razor module, see this.
When upgrading Razor deps, all packages must have same major version, including Microsoft.Extensions since 3.x target .NET Core 3, 5.x targets .NET 5, see details here.
EEPlus lib switched to commercial license since v5. It should be replaced with an OSS lib.
A possible replacement is DocumentFormat.OpenXml.
There are some XML comment tags that are not rendered by Wyam.
Official doc: https://github.com/dotnet/csharplang/blob/main/spec/documentation-comments.md
Issue by jansotola
Monday Feb 03, 2020 at 17:02 GMT
Originally opened as Wyamio/Wyam#2
We're migrating our blog to WYAM.
For SEO reasons we'd like to keep our posts in root URL (not in /posts/
subfolder).
For example /my-article-1
instead of /posts/my-article-1
.
I know we can use redirects (using metadata RedirectFrom:
), but it is not enough for us. We need the final (redirected) URL to stay in root.
When setting BlogKeys.PostsPath
to /
, an error "Rooted globbing patterns are not supported" occurs.
When setting BlogKeys.PostsPath
to empty string, an error "Access to the path 'c:\index.html' is denied." occurs (because WYAM is trying to overwrite index of homepage with index of archive page).
Is there any way how to do it properly?
Issue by chrisofspades
Wednesday Mar 04, 2020 at 18:02 GMT
Originally opened as Wyamio/Wyam#9
I'm using AppVeyor to deploy my site as described here:
https://wyam.io/docs/deployment/appveyor
And it's failing on the step to download the latest release. See log here:
https://ci.appveyor.com/project/chrisofspades/chrispeoples-com/builds/31172904
Looks like all releases/tags were removed from the repo. Any chance of bringing those back?
Issue by KybernetikGames
Friday Jan 10, 2020 at 00:06 GMT
Originally opened as Wyamio/Wyam#3
Got a strange bug here:
--watch
mode to rebuild. It does save the file and set the date modified properly.Cake 2.0.0 has been released 🎉
The following XML comment fragment:
/// <note>
/// we advise you to use the following functions instead:
/// </note>
/// <list type="table">
/// <listheader>
/// <term>Function</term>
/// <description>Description</description>
/// </listheader>
/// <item>
/// <term><see cref="FileFunctions.Exists(string)" /></term>
/// <description>Determines whether the specified file exists.</description>
/// </item>
/// <item>
/// <term><see cref="DirectoryFunctions.Exists(string)" /></term>
/// <description>Determines whether the given path refers to an existing directory on disk.</description>
/// </item>
/// <item>
/// <term><see cref="FrameworkFunctions.Exists(string)" /></term>
/// <description>Checks whether the specified framework exists..</description>
/// </item>
/// <item>
/// <term><see cref="FrameworkFunctions.SdkExists(string)" /></term>
/// <description>Checks whether the SDK for the specified framework is installed.</description>
/// </item>
/// </list>
is rendered as
<div class="note">
we advise you to use the following functions instead:
</div>
<description>Description</description><description>Determines whether the specified file exists.</description><description>Determines whether the given path refers to an existing directory on disk.</description><description>Checks whether the specified framework exists..</description><description>Checks whether the SDK for the specified framework is installed.</description><table class="table">
<tbody><tr>
<th>Function</th>
</tr>
<tr>
<td><code class="cs">NAnt.Core.Functions.FileFunctions.Exists(System.String)</code></td>
</tr>
<tr>
<td><code class="cs">NAnt.Core.Functions.DirectoryFunctions.Exists(System.String)</code></td>
</tr>
<tr>
<td><code class="cs">NAnt.Core.Functions.FrameworkFunctions.Exists(System.String)</code></td>
</tr>
<tr>
<td><code class="cs">NAnt.Core.Functions.FrameworkFunctions.SdkExists(System.String)</code></td>
</tr>
</tbody></table>
This will give the ability to add useful plugins like:
Other nice plugins:
Issue by johncrim
Tuesday Dec 24, 2019 at 15:20 GMT
Originally opened as Wyamio/Wyam#4
Consider adding a --nologo
switch for command-line builds, which skips the ASCII art output. It's not useful in build logs.
Issue by augustoproiete
Tuesday Feb 09, 2021 at 01:34 GMT
Originally opened as Wyamio/Wyam#18
Issue by augustoproiete
Thursday Mar 11, 2021 at 22:31 GMT
Originally opened as Wyamio/Wyam#20
The NuGet Gallery will soon include a "Cake" tab with instructions on how to use NuGet packages in Cake build scripts. I'd like to suggest that you include the tag cake-addin
in the NuGet package of this addin, so that the NuGet Gallery can display the correct instructions to install this addin.
The UI will look similar to this:
Documentation on best practices on tags for Cake addins: https://cakebuild.net/docs/extending/addins/best-practices#tags
To ease debugging, symbols packages should be published.
See https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg and https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/sourcelink
Issue by mcraiha
Saturday Jul 11, 2020 at 07:11 GMT
Originally opened as Wyamio/Wyam#15
CleanBlog theme is using quite old CSS and JS files. e.g. Bootstrap v3.3.5 and jQuery v2.2.4
It would be nice to use newer versions.
Issue by hawkerm
Tuesday Mar 10, 2020 at 06:03 GMT
Originally opened as Wyamio/Wyam#10
Keep getting this message in my output:
Skipping file:///C:/.../doc/news/2020-03-10-Season-9-Kickoff.md due to having Published metadata of 3/10/2020 12:00:00 AM in the future (current date and time is 3/9/2020 11:00:25 PM)
It's very not clear that this means it's grabbing the date metadata data from the filename. I still want it to generate the file, I'll choose to upload it when I choose, I'm prepping in advance and I want to see the preview of the site.
Is there a setting to turn this 'feature' off?
docFX documentation states that:
docfx supports DocFX Flavored Markdown syntax inside triple-slash (///) code comments. You can disable this feature by set shouldSkipMarkup when generating metadata: docfx metadata --shouldSkipMarkup.
Same question on Reddit and it seems docFX understands markdown in XML comments.
How it might work:
<format type="text/markdown">
then the contained text is markdown syntaxConcerns
Issue by augustoproiete
Tuesday May 11, 2021 at 02:06 GMT
Originally opened as Wyamio/Wyam#23
Closes #22
augustoproiete included the following code: https://github.com/Wyamio/Wyam/pull/23/commits
What title says: All themes using bootstrap lib should be upgraded to latest v4. There will be another ticket to update them to v5
Issue by aateeque
Thursday May 28, 2020 at 14:11 GMT
Originally opened as Wyamio/Wyam#14
I have a folder structure as follows:
|-
|--/src
|--|--/API
|--|--/blog
|--|--/products
|--|--/docs
No matter what a put inside that API folder (index.html, docs.md, etc) it doesn't appear in the nav bar in the Docs theme:
But if I change the name of that folder from API to anything else it works. It seems like a bug, a user shouldn't have to cater for specially named folders out of the box. But I guess I am doing something wrong, however haven't been able to figure out what.
Issue by MarcelJurtz
Sunday Sep 27, 2020 at 18:38 GMT
Originally opened as Wyamio/Wyam#17
I'd like to be able to reference a posts author in the _PostHeader file. How can I achieve that? From the docs, I was thinking that I should be able to access the metadata via Model, but any change I make just results in wyam getting stuck in the build and not providing any errors / feedback. Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.