diff --git a/src/DocNet/Program.cs b/src/DocNet/Program.cs
index fb50b04..984b9e8 100644
--- a/src/DocNet/Program.cs
+++ b/src/DocNet/Program.cs
@@ -88,7 +88,7 @@ namespace Docnet
private static void DisplayHeader()
{
- Console.WriteLine("Docnet v{0}. (c)2017 Frans Bouma and contributors", FileVersionInfo.GetVersionInfo(typeof(Program).Assembly.Location).FileVersion);
+ Console.WriteLine("Docnet v{0}. (c){1} Frans Bouma and contributors", FileVersionInfo.GetVersionInfo(typeof(Program).Assembly.Location).FileVersion, DateTime.UtcNow.Year);
Console.WriteLine("Get your copy at: https://github.com/FransBouma/Docnet \n");
}
diff --git a/src/DocNet/Properties/AssemblyInfo.cs b/src/DocNet/Properties/AssemblyInfo.cs
index d52333b..73fade9 100644
--- a/src/DocNet/Properties/AssemblyInfo.cs
+++ b/src/DocNet/Properties/AssemblyInfo.cs
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Docnet")]
-[assembly: AssemblyCopyright("Copyright ©2018 Frans Bouma")]
+[assembly: AssemblyCopyright("Copyright ©2019 Frans Bouma")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
diff --git a/src/DocNet/SimpleNavigationElement.cs b/src/DocNet/SimpleNavigationElement.cs
index 01af7d0..3a3d5bf 100644
--- a/src/DocNet/SimpleNavigationElement.cs
+++ b/src/DocNet/SimpleNavigationElement.cs
@@ -194,21 +194,30 @@ namespace Docnet
relativePathToRoot,
this.GetFinalTargetUrl(navigationContext),
this.Name));
- if (isCurrent && _relativeLinksOnPage.SelectMany(x => x.Children).Any(x => x.Level > 1))
+ if (isCurrent && _relativeLinksOnPage.Count>0)
{
- // generate relative links
- fragments.Add("
");
+ bool renderHeadings = _relativeLinksOnPage.SelectMany(x => x.Children).Any(x => x.Level > 1);
+ if(!renderHeadings)
+ {
+ // check if there are headings of a higher level than 1 present. If so, continue and render as usual
+ renderHeadings = _relativeLinksOnPage.Any(x => x.Level > 1);
+ }
- foreach (var heading in _relativeLinksOnPage)
+ if(renderHeadings)
{
- var content = GenerateToCFragmentForHeading(heading, navigationContext);
- if (!string.IsNullOrWhiteSpace(content))
+ // generate relative links
+ fragments.Add("");
+
+ foreach(var heading in _relativeLinksOnPage)
{
- fragments.Add(content);
+ var content = GenerateToCFragmentForHeading(heading, navigationContext);
+ if(!string.IsNullOrWhiteSpace(content))
+ {
+ fragments.Add(content);
+ }
}
+ fragments.Add("
");
}
-
- fragments.Add("
");
}
else
{
diff --git a/src/MarkdownDeep/Extensions.cs b/src/MarkdownDeep/Extensions.cs
index 4901e42..7d9a795 100644
--- a/src/MarkdownDeep/Extensions.cs
+++ b/src/MarkdownDeep/Extensions.cs
@@ -4,6 +4,12 @@ namespace MarkdownDeep
{
public static class Extensions
{
+ ///
+ /// Converts the set of headings in a hierarchy, where a heading of level n contains the headings of leven n+1 etc.
+ ///
+ ///
+ ///
+ /// If there's no root found, the returning set will be the same as the one passed in.
public static List ConvertToHierarchy(this List headings)
{
var hierarchy = new List();
@@ -32,7 +38,6 @@ namespace MarkdownDeep
hierarchy.Add(headings[i]);
}
}
-
return hierarchy;
}
diff --git a/src/MarkdownDeepTests/DocNetMode.cs b/src/MarkdownDeepTests/DocNetMode.cs
index f6cdd3c..f02e619 100644
--- a/src/MarkdownDeepTests/DocNetMode.cs
+++ b/src/MarkdownDeepTests/DocNetMode.cs
@@ -17,6 +17,8 @@ namespace MarkdownDeepTests
}
+ // Make sure you copy the AutoHeaderIDTests.cs file to c:\temp, as it's used in one of the tests, which uses an absolute path for the snippet feature
+ // a relative path would have been preferable but the tests are run in a temp folder so they don't know the path of the source.
[Test, TestCaseSource("GetTests")]
public void Test(string resourceName)
{
diff --git a/src/MarkdownDeepTests/ExtensionsTests.cs b/src/MarkdownDeepTests/ExtensionsTests.cs
index 601e5d8..bb9a426 100644
--- a/src/MarkdownDeepTests/ExtensionsTests.cs
+++ b/src/MarkdownDeepTests/ExtensionsTests.cs
@@ -11,15 +11,15 @@ namespace MarkdownDeepTests
public void ConvertsHeadingsHierarchy()
{
var headings = new List();
- headings.Add(new Heading { Level = 1, Name = "1" });
- headings.Add(new Heading { Level = 2, Name = "1.1" });
- headings.Add(new Heading { Level = 3, Name = "1.1.1" });
- headings.Add(new Heading { Level = 2, Name = "1.2" });
- headings.Add(new Heading { Level = 4, Name = "1.2.1.1" });
- headings.Add(new Heading { Level = 2, Name = "1.3" });
- headings.Add(new Heading { Level = 1, Name = "2" });
- headings.Add(new Heading { Level = 3, Name = "2.1.1" });
- headings.Add(new Heading { Level = 2, Name = "2.2" });
+ headings.Add(new Heading {Level = 1, Name = "1"});
+ headings.Add(new Heading {Level = 2, Name = "1.1"});
+ headings.Add(new Heading {Level = 3, Name = "1.1.1"});
+ headings.Add(new Heading {Level = 2, Name = "1.2"});
+ headings.Add(new Heading {Level = 4, Name = "1.2.1.1"});
+ headings.Add(new Heading {Level = 2, Name = "1.3"});
+ headings.Add(new Heading {Level = 1, Name = "2"});
+ headings.Add(new Heading {Level = 3, Name = "2.1.1"});
+ headings.Add(new Heading {Level = 2, Name = "2.2"});
var hierarchy = headings.ConvertToHierarchy();
diff --git a/src/MarkdownDeepTests/MarkdownDeepTests.csproj b/src/MarkdownDeepTests/MarkdownDeepTests.csproj
index d3512f9..eb58260 100644
--- a/src/MarkdownDeepTests/MarkdownDeepTests.csproj
+++ b/src/MarkdownDeepTests/MarkdownDeepTests.csproj
@@ -1,5 +1,6 @@
+
Debug
AnyCPU
@@ -41,14 +42,9 @@
false
-
- ..\..\packages\NUnit.2.5.10.11092\lib\nunit.framework.dll
-
-
- ..\..\packages\NUnit.2.5.10.11092\lib\nunit.mocks.dll
-
-
- ..\..\packages\NUnit.2.5.10.11092\lib\pnunit.framework.dll
+
+ ..\..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll
+ True
@@ -529,4 +525,10 @@
+
+
+ This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}.
+
+
+
\ No newline at end of file
diff --git a/src/MarkdownDeepTests/Properties/AssemblyInfo.cs b/src/MarkdownDeepTests/Properties/AssemblyInfo.cs
index 7f74f1f..31ac774 100644
--- a/src/MarkdownDeepTests/Properties/AssemblyInfo.cs
+++ b/src/MarkdownDeepTests/Properties/AssemblyInfo.cs
@@ -35,5 +35,3 @@ using NUnit.Framework;
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
-
-[assembly: RequiresSTA]
\ No newline at end of file
diff --git a/src/MarkdownDeepTests/packages.config b/src/MarkdownDeepTests/packages.config
index a4d7938..366ee30 100644
--- a/src/MarkdownDeepTests/packages.config
+++ b/src/MarkdownDeepTests/packages.config
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/src/MarkdownDeepTests/testfiles/docnetmode/Snippet(DocNetMode).txt b/src/MarkdownDeepTests/testfiles/docnetmode/Snippet(DocNetMode).txt
index 46c57a4..f60a149 100644
--- a/src/MarkdownDeepTests/testfiles/docnetmode/Snippet(DocNetMode).txt
+++ b/src/MarkdownDeepTests/testfiles/docnetmode/Snippet(DocNetMode).txt
@@ -2,8 +2,8 @@
This is some text with a snippet.
-@snippet cs [..\..\AutoHeaderIDTests.cs] SetUp
+@snippet cs [c:\temp\AutoHeaderIDTests.cs] SetUp
-@snippet cs [..\..\AutoHeaderIDTests.cs] =WithPunctuation
+@snippet cs [c:\temp\AutoHeaderIDTests.cs] =WithPunctuation
post