마리모(Marimo) Markdown 사용법 정리

목차
✔ Markdown 문자열을 마리모 앱에서 렌더링하는 기본 함수
mo.md(text: str)
는 입력된 마크다운 문자열을 HTML 형태로 렌더링하여 마리모 앱 셀에서 시각적으로 표현해주는 기본 함수이다.
LaTeX 수식, 코드 블록, HTML 태그 등도 함께 사용할 수 있어 문서 작성, 수식 표현, 시각화된 결과 공유 등에 활용될 수 있다.
특히 f-string
문법을 활용하여 파이썬 변수나 mo.ui
컴포넌트의 값을 직접 마크다운 내에 삽입할 수 있으며, 시각화 결과(예: matplotlib plot)는 mo.as_html()
로 변환해 삽입할 수 있다.
text_input = mo.ui.text()
mo.md(f"Text input: {text_input}")
plt.plot([1, 2])
mo.md(f"Plot: {mo.as_html(plt.gca())}")


✔ 다양한 아이콘을 마크다운 또는 코드로 삽입하는 방법
마리모는 Iconify를 기반으로 다양한 아이콘 세트를 지원하며, 마크다운 내에서는 ::iconset:icon-name::
형식으로 아이콘을 삽입할 수 있다. 예를 들어 ::lucide:rocket::
은 로켓 아이콘을 삽입한다.
mo.md(f'::lucide:rocket:: / ::lucide:bot-message-square::')

보다 정교한 조정이 필요한 경우 mo.icon(name: str, size: int = 16, color: str = None, rotate: int = 0)
함수를 사용하면 크기, 색상, 회전 등의 스타일을 지정할 수 있다.
아이콘은 UI 구성요소나 시각적 강조를 위해 유용하게 활용되며, 마크다운 내 텍스트와 결합해 직관적인 안내가 가능하다.
아이콘은 Lucide의 아이콘도 사용할 수 있다.
mo.icon("lucide:rocket", size=20, color="red")
mo.icon("lucide:bot-message-square", size=50, color="black", rotate=90)

✔ 수학 공식과 과학 수식을 정교하게 표현하는 LaTeX 지원
마리모는 mo.md()
내에서 LaTeX 수식 표현을 기본적으로 지원하며, 인라인 수식은 $...$
, 블록 수식은 $$...$$
또는 \[...\]
형식으로 작성할 수 있다.
mo.md(
r'''
Latex Example $f(x) = e^x$
\[
f(x) = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \ldots.
\]
'''
)
또한, 복잡한 수식 정의나 사용자 정의 명령어가 필요한 경우, 외부 LaTeX 매크로 파일을 mo.latex(filename="...")
로 불러와 사용할 수 있어 수학/과학 관련 문서 작성 시 높은 유연성을 제공한다.

✔ 마우스 오버 시 제공하는 툴팁 기능
마리모에서는 HTML 요소에 data-tooltip
속성을 활용해 툴팁을 쉽게 추가할 수 있다. 마우스를 올렸을 때 정보를 전달하는 데 유용하며, 특히 인터랙티브 UI나 가이드를 제공할 때 활용도가 높다.
mo.md(
'''
<div data-tooltip="Tooltip Example">
마우스를 올리면 툴팁 제시
</div>
'''
)

버튼, 입력창 등 mo.ui
로 생성된 컴포넌트의 라벨에 직접 툴팁을 연결하는 방식으로도 사용할 수 있다. 사용자 경험을 개선하고 UI의 직관성을 높이는 데 효과적이다.
✔ 이미지 삽입은 HTML 태그로 구현 가능
마리모에서는 public/
폴더에 저장된 이미지 파일을 HTML의 <img>
태그를 활용하여 마크다운 내에 삽입할 수 있다.
mo.md(
'''
<img src="public/thumbnail.png" style="width:100%;" />
'''
)

style
속성을 이용해 이미지 크기나 정렬 등의 스타일을 조정할 수 있다.
마리모에서 제공하는 많은 기능들 중 마크다운과 관련된 내용을 알아봤다.
HTML을 사용해서 유연한 UI랑 차트(chart.js를 사용)를 만들 수 있을 것 같은데, 시간내서 해봐야겠다.
저를 응원해주세요!
'Python > Marimo' 카테고리의 다른 글
Marimo의 에디팅 단축키 정리 [Marimo Editing Shortcuts] (0) | 2025.05.06 |
---|---|
Marimo란? Jupyter 대체하는 차세대 Python 노트북 (1) | 2025.04.27 |
오늘은 Marimo의 API 레퍼런스 중에서 마크다운과 관련된 내용을 간단하게 알아보자.