Linking within LivingDoc
I am struggling to understand how the linking within the LivingDoc should work.
Hoping someone can point out my gap in understanding.
I have looked at the docs page here: https://docs.specflow.org/projects/specflow-livingdoc/en/latest/Viewing/internal-linking.html
I couldn't tell if the syntax is supposed to include chevrons or not as the documentation text doesn't have them, but the code sample does:
[text](link/to/feature.feature)
or
[text](<link/to/feature.feature>)
So, I created a VS2022 project from the SpecFlow Project template and generated the LivingDoc for the sample Calculator feature using the CLI. The Calculator.feature file included looks like this:
Feature: Calculator

Simple calculator for adding **two** numbers
Link to a feature: [Calculator](SpecFlowProject1/Features/Calculator.feature)
***Further read***: **[Learn more about how to generate Living Documentation](https://docs.specflow.org/projects/specflow-livingdoc/en/latest/LivingDocGenerator/Generating-Documentation.html)**
@mytag
Scenario: Add two numbers
Given the first number is 50
And the second number is 70
When the two numbers are added
Then the result should be 120
The LivingDoc that the template project generated shows a link for "Calculator" where you would expect, but clicking the link just reloads the page. I opened the LivingDoc html file before realising it's not a file for reading :D
If I right click the link and inspect the element, the html shown is:
<p>Link to a feature: <a href="">Calculator</a>
-
You are using MarkDown in the descriptions. And you need the '<>' if you have spaces within the path.
If you don't have spaces, you can leave the <> brackets out.
Yeah, the example in the project is not the best, but the only thing that is possible. We wanted to show how you link to different feature files but didn't want to add a second feature file to the template only to show this feature. So we link to itself.
Does this help you understand it better?
0 -
Thanks Andreas,
Understood re the link syntax, thanks.
The problem that I am having is that in my own project, I have 2 feature files.- MyProject/Features/First Feature.feature
- MyProject/Features/Second Feature.feature
And one has a link to the other, like so:
Feature: First Feature
- This feature relates to [Second Feature](<MyProject/Features/Second Feature.feature>)
...But in the html output:
<a href>Second Feature</a>
So when it's clicked it just reloads the whole document and doesn't navigate to the feature.
I would have expected perhaps something like<a href="#/document/Standalone/feature/{id}">Second Feature</a>
It was after observing this behavior I checked the calculator example for guidance.Is it most likely some bone headed typo on my part? If the path can't be resolved it is just omitted entirely from the output?
0 -
That linking works is dependend on the directory you are executing the cli command from.
What is your CLI command and in which folder are you executing it?
0 -
Specification/Features/*.feature
Running the CLI from the Specification folder (the root of the VS project)
livingdoc test-assembly '.\bin\Debug\net6.0\Specification.dll' --title 'Functional Specification' -t .\bin\Debug\net6.0\TestExecution.json -o 'Functional Specification.html'
Also, the BookShop example in github is displaying the same behavior I'm seeing.
2 -
I'm facing similar issues with links to feature files running the CLI, in html the link stays empty.
<a href>Link Feature</a>
Is there any way to fix this?
The url to one of a page also contains a ID in stead of the feature name.
https://specflowoss.github.io/LivingDoc-Demo/BookShop.html#/document/Standalone/feature/84d6daab33c6e1ca9a5bc4ade03da04d
@Richard Cutts do you have a solution to the problem?0 -
Just starting using livingdoc this week, the linking feature appears completely broken to me. All 'links' simply reference livingdoc.html.... always goes to the root.
Did anyone manage to fix this, it's a 3 month old problem is appears. any luck wim.swinkels ? Richard Cutts ? Not sure if Andreas Willich this is an acknowledged bug?
I am calling the CLI from my \bin directory:
livingdoc test-assembly SpecFlowProjForDeploymentMonitor.dll -t TestExecution.json
but when i open the livingdoc.html in chrome, and hover over the link i made, it only points to
file:///Z:/CodeGithub/ARRB/Hawkeye/misc-utils/PostBuildServerDeploymentMonitor/SpecFlowProjForDeploymentMonitor/bin/Debug/net48/LivingDoc.html
Rather than any of the Feature.feature files that i have in my project. ?
Thanks.
0 -
Sorry to say that no, I was never able to successfully create any internal links to other features.
For me they all link to the root as described above.
1 -
I wonder if the issue exists on their Azure Devops implementation as well. We don't use it so not much use to me either way i suppose. I'd be interested to see the SpecFlow team's Feature File on being able to link documents. Shouldn't they have a BDD feature file on this, and unit tests to ensure it works? A little bit of irony. ;-)
I tease though, it's a very interesting platform and i'll try and make it work regardless.
0
Please sign in to leave a comment.
Comments
8 comments