Coder Social home page Coder Social logo

x/pkgsite: render mermaid js about go HOT 11 CLOSED

trajan0x avatar trajan0x commented on May 29, 2024 3
x/pkgsite: render mermaid js

from go.

Comments (11)

AlexanderYastrebov avatar AlexanderYastrebov commented on May 29, 2024 1

Maybe it makes sense to add codeblock language id to <pre>/<code> tags to enable userscript-based highlighting/rendering.

Update: this should actually work https://github.com/rsc/markdown/blob/0bf8f97ee8ef6dc359b2246680d8f48c37da77f1/code.go#L24-L39
maybe pkgsite uses old rsc.io/markdown version.

from go.

matloob avatar matloob commented on May 29, 2024 1

I don't know if it's worth making the change in https://go.dev/cl/585955 if it's only going to be used by users who enable a custom script locally.

from go.

nnzv avatar nnzv commented on May 29, 2024 1

I don't know if it's worth making the change in https://go.dev/cl/585955 if it's only going to be used by users who enable a custom script locally.

Absolutely, that sounds like a more appropriate approach. By utilizing a script to generate necessary files from upstream sources, you can easily place the URL file where pkgsite can display it. This strategy enables flexibility with various tools, eliminating the need to confine yourself to just one option.

from go.

adonovan avatar adonovan commented on May 29, 2024 1

We discussed this in our triage meeting and decided that the benefit of the feature is not worth the costs and risks. Go's pkg.go.dev site was never intended to fully simulate GitHub's markdown renderer.

from go.

adonovan avatar adonovan commented on May 29, 2024 1

@adonovan @matloob What are the risks of adding a css class to the html element?

The costs and risks of adding a class attribute are very low, though the value seems low also. I would not object to https://go.dev/cl/585955, though I defer to @matloob.

The feature I was referring to as "not worth the costs and risks" is the mermaid rendering that is the subject of this issue.

from go.

nnzv avatar nnzv commented on May 29, 2024

Supporting Mermaid.js in pkgsite would likely introduce unnecessary complexity and potential performance issues without significant benefits for Go developers.

from go.

gopherbot avatar gopherbot commented on May 29, 2024

Change https://go.dev/cl/585955 mentions this issue: sanitizer: allow code block language class

from go.

AlexanderYastrebov avatar AlexanderYastrebov commented on May 29, 2024

With the change https://go.dev/cl/585955 it should be possible to enable syntax highlighting and mermaid rendering via UserScript:

// ==UserScript==
// @name        pkg.go.dev syntax highlight
// @namespace   Violentmonkey Scripts
// @description Adds syntax highlighting to code blocks
// @match       https://pkg.go.dev/*
// @resource    css https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github-dark.css
// @require     https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js
// @require     https://cdn.jsdelivr.net/npm/[email protected]/dist/mermaid.min.js
// @grant       GM_addStyle
// @grant       GM_getResourceText
// @version     1.0
// @author      https://github.com/AlexanderYastrebov
// ==/UserScript==
GM_addStyle(GM_getResourceText("css"));
(function (){
    hljs.highlightAll();
    mermaid.initialize({ startOnLoad: false, theme: 'dark' });
    mermaid.run({ querySelector: '.language-mermaid' });
})();

Screenshot from 2024-05-16 04-02-27

Screenshot from 2024-05-16 04-00-10

from go.

zikaeroh avatar zikaeroh commented on May 29, 2024

Supporting Mermaid.js in pkgsite would likely introduce unnecessary complexity and potential performance issues without significant benefits for Go developers.

Given mermaid code blocks look like:

```mermaid
...
```

It seems reasonable to assume that the server/page could just not load mermaid code when there's no mermaid blocks, so I don't think this would have any overhead, no?

from go.

AlexanderYastrebov avatar AlexanderYastrebov commented on May 29, 2024

I don't know if it's worth making the change in https://go.dev/cl/585955 if it's only going to be used by users who enable a custom script locally.

@matloob
What is the problem or risk to enable already existing codeblock language metadata?
Userscript is the straightforward usecase but there might be others like hints to the crawlers or corporate pkgsite deployments with syntax highlight by default.

from go.

AlexanderYastrebov avatar AlexanderYastrebov commented on May 29, 2024

@adonovan @matloob What are the risks of adding a css class to the html element?

from go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.