Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Backtick Code Block does not support additional options #4830

Open
5 tasks done
yunnysunny opened this issue Nov 30, 2021 · 9 comments · May be fixed by #5625
Open
5 tasks done

The Backtick Code Block does not support additional options #4830

yunnysunny opened this issue Nov 30, 2021 · 9 comments · May be fixed by #5625
Labels
enhancement New feature or request

Comments

@yunnysunny
Copy link

yunnysunny commented Nov 30, 2021

Check List

Please check followings before submitting a new issue.

Expected behavior

  ```javascript line_number:true highlight:true mark:1,2,3
  function listenInCluster(server, address, port, addressType,
  backlog, fd, exclusive, flags) {
  exclusive = !!exclusive;
  
  if (cluster === undefined) cluster = require('cluster');
  
  if (cluster.isPrimary || exclusive) {
  // Will create a new handle
  // _listen2 sets up the listened handle, it is still named like this
  // to avoid breaking code that wraps this method
  server._listen2(address, port, addressType, backlog, fd, flags);
  return;
  }
  
  .....
  }

Github does not support show the markdown code , so I split the issue into too commits.
@yunnysunny
Copy link
Author

Actual behavior

The code above will be rendered as follows:
image

How to reproduce?

Is the problem still there under "Safe mode"?

Environment & Settings

Node.js & npm version(node -v && npm -v)

v14.17.4
6.14.14

Your site _config.yml (Optional)

# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site
title: Hexo
subtitle: ''
description: ''
keywords:
author: John Doe
language: en
timezone: ''

# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: http://example.com
permalink: :year/:month/:day/:title/
permalink_defaults:
pretty_urls:
  trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
  trailing_html: true # Set to false to remove trailing '.html' from permalinks

# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:

# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link:
  enable: true # Open external links in new tab
  field: site # Apply to the whole site
  exclude: ''
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight:
  enable: true
  line_number: true
  auto_detect: false
  tab_replace: ''
  wrap: true
  hljs: false
prismjs:
  enable: false
  preprocess: true
  line_number: true
  tab_replace: ''

# Home page setting
# path: Root path for your blogs index page. (default = '')
# per_page: Posts displayed per page. (0 = disable pagination)
# order_by: Posts order. (Order by date descending by default)
index_generator:
  path: ''
  per_page: 10
  order_by: -date

# Category & Tag
default_category: uncategorized
category_map:
tag_map:

# Metadata elements
## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta
meta_generator: true

# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss
## updated_option supports 'mtime', 'date', 'empty'
updated_option: 'mtime'

# Pagination
## Set per_page to 0 to disable pagination
per_page: 10
pagination_dir: page

# Include / Exclude file(s)
## include:/exclude: options only apply to the 'source/' folder
include:
exclude:
ignore:

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: landscape

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
  type: ''

Your theme _config.yml (Optional)

Hexo and Plugin version(npm ls --depth 0)

Your package.json package.json

{
  "name": "hexo-site",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "build": "hexo generate",
    "clean": "hexo clean",
    "deploy": "hexo deploy",
    "server": "hexo server"
  },
  "hexo": {
    "version": "5.4.0"
  },
  "dependencies": {
    "hexo": "^5.0.0",
    "hexo-generator-archive": "^1.0.0",
    "hexo-generator-category": "^1.0.0",
    "hexo-generator-index": "^2.0.0",
    "hexo-generator-tag": "^1.0.0",
    "hexo-renderer-ejs": "^1.0.0",
    "hexo-renderer-marked": "^4.0.0",
    "hexo-renderer-stylus": "^2.0.0",
    "hexo-server": "^2.0.0",
    "hexo-theme-landscape": "^0.0.3"
  }
}

Others

@stevenjoezhang
Copy link
Member

These additional options are undefined for commonmark, so the behavior of markdown plugins can indeed be customized.

ref https://spec.commonmark.org/0.30/#fenced-code-blocks

@yunnysunny
Copy link
Author

These additional options are undefined for commonmark, so the behavior of markdown plugins can indeed be customized.

ref https://spec.commonmark.org/0.30/#fenced-code-blocks

But the hexo's document says

Both Hexo Tag Plugin - Code Block and Tag Plugin - Backtick Code Block supports Line Highlight syntax (mark option). When mark option is given, Hexo will generate the corresponding HTML markup.

https://hexo.io/docs/syntax-highlight#preprocess

@github-actions
Copy link

github-actions bot commented Feb 4, 2022

This issue has been automatically marked as stale because lack of recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Feb 4, 2022
@SukkaW SukkaW added need-information Further information is requested need-investigation labels Feb 6, 2022
@github-actions github-actions bot removed the stale label Feb 7, 2022
@stevenjoezhang
Copy link
Member

I'll try to refactor code block and code highlighting: #5095

@TimonPeng
Copy link

TimonPeng commented Sep 21, 2023

I'll try to refactor code block and code highlighting: #5095

It's implemented in Tag Plugin - Code Block
https://github.com/hexojs/hexo/blob/master/lib/plugins/tag/code.js#L48

But the additional options in Tag Plugin - Backtick Code doesn't have any expected for match
https://github.com/hexojs/hexo/blob/master/lib/plugins/filter/before_post_render/backtick_code_block.js#L4

@D-Sketon
Copy link
Member

I have tried v7.0.0-rc1, the problem still exists

@D-Sketon
Copy link
Member

https://hexo.io/docs/tag-plugins.html#Backtick-Code-Block

This is identical to using a code block, but instead uses three backticks to delimit the block.
``` [language] [title] [url] [link text] code snippet ```

[additional options] doesn't exist.😥

@D-Sketon D-Sketon added enhancement New feature or request and removed need-investigation need-information Further information is requested labels Oct 20, 2023
@pilgrimlyieu
Copy link

Any update?

@D-Sketon D-Sketon linked a pull request Jan 27, 2025 that will close this issue
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants