Comments (6)
It's possible to have that kind of links looking fine if you put them into a code block:
- [`func New[T any]() Stack[T]`](https://example.com)
That would change the look slightly, but it works.
EDIT: I just found a way to escape the links:
- [func New[T any]\() Stack[T]](https://example.com)
So the solution is to put a backslash between []
and ()
.
@princjef do you have any ETA on this?
from gomarkdoc.
Generated markdown:
- [type Stack](<#type-stack>)
- [func New[T any]() Stack[T]](<#func-new>) <-- wrong output
- [func (s *Stack[T]) Clear()](<#func-stackt-clear>)
- [func (s *Stack[T]) Contains(item T) bool](<#func-stackt-contains>)
from gomarkdoc.
There is probably more wrong markdown generated here than just the line you point out. Looking at the other links generated, they rather tend to work by accident, because [...]
is not immediately followed by (...)
. I'm afraid the whole markdown thing is falling apart in light of Go generics, as there is no common markdown way to escape square/rounded brackets in order to not totally confuse markdown interpreters in case of Go generics signatures.
from gomarkdoc.
@princjef any update on this?
from gomarkdoc.
One fix would be to replace []()
with their html code counterpart:
r := strings.NewReplacer(
"[", "[",
"]", "]",
"(", "(",
")", ")",
)
https://go.dev/play/p/MMr04QkvnTW -- although, that would be really annoying when reading in an editor.
But, yeah, the strings.ReplaceAll(s, "](", "]\(")
seems like a nicer output.
Also, there's an option to replace them with some similar unicode-symbol, e.g. https://symbl.cc/en/27E6/.
from gomarkdoc.
Gomarkdoc does some general escaping with \
which generally solves this problem, I think it's just being skipped here (accidental omission). Let me see if applying that escaping is enough without messing up the rendering. Raw readability of the code will suffer, but up until now I've favored proper rendering over maximum readability of the raw code
from gomarkdoc.
Related Issues (20)
- Pre-commit support HOT 1
- String manipulation functions in template
- Potential incorrect Markdown link syntax HOT 4
- [Bug] Check mode always returns with zero exit code when embed mode is also enabled HOT 1
- Is there a way to omit certain functions? HOT 2
- Pandoc Markdown Support
- Relative link
- Multiple newlines are generated during templates processing
- Bug in generating markdown files with characters *(){}[]- HOT 1
- Ability to choose codeblock language HOT 2
- support new godoc spec enforced by gofmt HOT 3
- Links in comments aren't generated correctly HOT 1
- git branch issue when running in ci environment HOT 2
- new headings syntax in go 1.19 HOT 1
- Is there a way to generate docs for all packages in a project HOT 1
- Ignoring appending into generated docs when using -e flag HOT 2
- add support for Template functions HOT 3
- Ignore vendor folder HOT 4
- Links appear broken in README files HOT 2
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 gomarkdoc.