quarto-dev / quarto-dev/quarto-cli

Emoji shortcodes in YAML front-matter not rendered as expected

Open
#8,280 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug lua
Dominant language
JavaScript
Stars
6k
Forks
458
Avg merge
1d 9h
Merged PRs (30d)
41

Description

Bug description

When from: "markdown+emoji" is set, emoji shortcodes work in Markdown except their behavior in front-matter is inconsistent.

A page with front-matter:

---
title: "Some title"
subtitle: ":heart:"
---

...

will display the emoji successfully on a listing page which includes this page:

image

But not on the page itself:

image

Steps to reproduce
  • In _quarto.yml:
    format:
      html:
        from: "markdown+emoji"
    
  • Create a page containing an emoji shortcode, e.g. :heart: in its front-matter, e.g. title or subtitle.
    • View the page: emoji shortcode displays as text.
  • Create a listing page that includes said page
    • View listing: emoji renders
Expected behavior

Emoji shortcodes render consistently (either they do or they don't) from YAML front-matter regardless of where the content is rendered.

Actual behavior

Emoji shortcodes in YAML front-matter do render in some context, but not in other contexts. See repro instructions :)

Your environment
  • IDE: None
  • OS: PopOS latest
Quarto check output
$ quarto check

[✓] Checking versions of quarto binary dependencies...
      Pandoc version 3.1.1: OK
      Dart Sass version 1.58.3: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
      Version: 1.3.450
      Path: /home/robatt/.local/share/miniconda3/envs/quarto/bin

[✓] Checking basic markdown render....OK

[✓] Checking Python 3 installation....OK
      Version: 3.12.0 (Conda)
      Path: /home/robatt/.local/share/miniconda3/envs/quarto/bin/python
      Jupyter: 5.3.2
      Kernels: python3

(/) Checking Jupyter engine render....0.00s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
0.00s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
[✓] Checking Jupyter engine render....OK

[✓] Checking R installation...........(None)

      Unable to locate an installed version of R.
      Install R from https://cloud.r-project.org/

Also reproduced with 1.4.510

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with _quarto.yml, from: "markdown+emoji", and a page whose YAML front-matter contains :heart:. Compare rendering on the page itself with rendering through a listing page, then verify that the shortcode behaves consistently in both contexts. Done means the documented reproduction no longer shows divergent output.

Written by the indexing model from the issue text.

Assessment

Tech stack
markdown, yaml
Domain
content, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.