Comments (4)
Ok, this is tricky. Basically, as far as I understand, the issue is a result of including types.fsx
file multiple times - it's included in every loader and every generator (through includes.fsx
file). Every time you include types.fsx
file new Site
record type is defined and as a result, those are actually different types (if you'd inspect all that through reflection you'd notice the fully qualified names of types are different).
The solution to that is to include types.fsx
file normally only once (just in globalloader.fsx
for example), and for all other files it needs to be added in #if !FORNAX
section - this will "power" editor tooling but won't be actually evaluated in underlying F# Interactive session that Fornax creates.
from fornax.
----------EDIT----------
I see, looks like I was wrong.
FTR the error I was getting on fornax watch
is:
`An unexpected error happend:
System.Reflection.TargetInvocationException:
Exception has been thrown by the target of an invocation.
--->
System.Exception: Could not get FSI_0016.Types+Site
at FSI_0016.Helpers.SiteContents.GetValue[t](SiteContents X1)
at FSI_0016.Post.generate(SiteContents ctx, String projectRoot, String page)
--- End of inner exception stack trace ---.`
from fornax.
Sorry, I'm not sure why I didn't include the stack trace originally 🤦
Is it possible to add break points to Fornax, or would I have to clone, build and run it like that?
from fornax.
Thanks for looking at this @Krzysztof-Cieslak!
I'll have a look at doing that and see where I get with it. Now I understand the use of the #if !FORNAX
directive too, awesome.
from fornax.
Related Issues (20)
- Make a tag-based push to nuget/github release for this repo HOT 1
- HtmlElement.Custom HOT 4
- Cannot build fornax repo for PR HOT 5
- Adjust path to better develop fornax project for gh-pages. HOT 2
- SiteContents are not reset when md parsing and loader type are in library.
- `fornax new` generates project that fails to build HOT 1
- Only capitalise the Module name instead of changing its case completely
- When adding an error to the context the Message is not logged in the console
- Can the errors be reported in red? HOT 1
- The first time a file content changes the new loaded information are not provided to the generator HOT 1
- Unable to install as global tool on osx-arm64 architecture.
- Samples crash on build HOT 1
- Getting started not working HOT 1
- How to install on MacOS arm64? HOT 4
- Fornax Core as nuget package HOT 4
- Does Fornax Support Shortcodes for Markdown? HOT 3
- fornax watch throws InvalidOperationException HOT 3
- Package restore fails after upgrade to .NET SDK 5.0.300 HOT 1
- Uninitialized SiteContents being passed to post generator in watch mode HOT 1
- generate wrong path when a file within a folder with space
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fornax.