markdown.style

HomeBusiness reports from Markdown

Use cases

One document for the numbers and the narrative

The metrics usually live in a spreadsheet and the story lives in a document. Paste the CSV export into the same file as your narrative, and markdown.style renders the whole business report as one page.

Open this example in the editorStart with your own

The sheet comes in as a paste, not a file

Copy the metrics out of the spreadsheet; that copy is what lands in the source pane as a paste, not a file. The editor checks whether the pasted text looks like CSV. If it does, it wraps the paste in a csv fence and shows an Undo button, in case you wanted the raw paste instead. Dropping a file onto the source only accepts .md and .markdown files, so a spreadsheet export has to come in as a paste, not a drop.

One table, values as exported

Inside the fence, the first row becomes the header and every row after it becomes a row in the table. A quoted field with a comma inside it, like "$48,200", is read as one value rather than split in two. Nothing is rounded or realigned: the table shows what the sheet showed. A tab-separated export works the same way inside a tsv fence.

Prose and data, one source

The summary above the table and the findings below it are ordinary Markdown, sitting in the same file as the csv fence. There is no spreadsheet to keep in sync separately: the summary, the metrics, the findings, the recommendations and the risks below all move through the theme together. Reorder a finding or fix a number in the table, and both stay in the one file you export from.

Worked example

A quarterly report for a subscription business, with the metrics pasted in as a CSV fence.

# Fieldnote Quarterly Report

## Summary

In the third quarter, monthly recurring revenue reached **$52,900**, up from **$48,200** in the second quarter. Active subscribers rose to 3,410 and monthly churn fell for the second straight quarter.

## Key metrics

```csv
Metric,Q2,Q3,Change
Monthly recurring revenue,"$48,200","$52,900",+9.8%
Active subscribers,"3,140","3,410",+8.6%
Monthly churn rate,4.20%,3.60%,-0.60pp
Average revenue per user,$15.35,$15.51,+1.0%
Net new subscribers,180,270,+50.0%
```

## Findings

### Retention improved after the onboarding rework

Churn dropped from 4.20% to 3.60% the quarter after the onboarding flow moved from five steps to two. Subscribers who complete onboarding in one sitting churn at half the rate of those who leave and return.

### Expansion revenue outpaced new signups

Average revenue per user held close to flat, so most of the quarter's growth came from more subscribers, not from higher prices. Net new subscribers grew by 90 quarter over quarter, a faster pace than either of the prior two quarters.

### Support tickets shifted toward billing questions

Billing questions rose from a fifth of tickets to a third, mostly about the switch to annual invoicing. Response time held under four hours, but the support lead flagged the annual invoice wording as unclear.

## Recommendations

1. Rewrite the annual invoice email before the next renewal cycle, using the wording the support lead tested with five customers.
2. Extend the two-step onboarding rework to the team plan, which still uses the older five-step flow.
3. Hold pricing steady for another quarter and watch whether churn keeps falling before testing a price increase.
4. Add a dashboard widget showing each customer's onboarding completion, so account managers can follow up before day seven.

## Risks

- The onboarding improvement has one quarter of data behind it, not enough to rule out a seasonal effect.
- Annual invoicing now covers a third of subscribers, which raises the cash impact of any refund policy change.[^1]
- Two of the five largest customers renew in the fourth quarter, and neither has confirmed next year's plan.

[^1]: A refund on an annual invoice returns most of a year's revenue at once, unlike a monthly plan where the exposure is one month.

Rendered in the Paper theme. Open it in the editor to change the theme or the text.

A theme for who reads it

This example uses Paper. Lora headings sit over Source Serif 4 body text on a warm ground, with a rule under the title, close to a printed board packet. Slate's cool greys and tighter type suit a report with many tables read on a screen or dropped into a wiki. Swiss's uppercase headings and solid black table header suit a one-page summary meant for a deck. Any of the three opens with this report already loaded from the editor link above, with the theme swapped in the toolbar.

Export for the board, export for the intranet

Print or save as PDF opens the browser's print dialog; choosing Save as PDF there turns this document into the board packet. Download .html saves a standalone file, the theme's CSS and fonts bundled in, ready to drop on an intranet page. Copy styled HTML carries the same look onto the clipboard through inlined styles, ready to paste into an email or a CMS editor. The numbered list under Recommendations may lose its markers there.

A caveat gets a footnote, not a run-on sentence

Risks reads as a short bullet list, and the second bullet carries a footnote instead of a parenthetical. The bullet stays one line. The footnote holds the explanation: a refund on an annual invoice returns more revenue at once than a refund on a monthly plan. Footnotes work the same way anywhere in the document, marked with [^1] and a matching [^1]: definition further down.

Questions

Does the preview show every row of a long metrics sheet?

The preview shows the first 2,000 rows of a csv fence. Every export, including Print or save as PDF and Download .html, keeps the full sheet.

What happens to thousands separators and currency signs in the sheet?

Values render exactly as the sheet exported them. A field with a comma inside it, such as "$48,200", needs quotes so it is not read as two columns.

My spreadsheet exports with semicolons instead of commas. Does that still work?

Yes. The delimiter is detected from the first line, so a semicolon-separated export renders as a table the same way a comma-separated one does.

Can the board PDF and the intranet page come from the same document?

Yes. The narrative and the csv fence stay in one source, and Print or save as PDF and Download .html both read from it, so nothing is retyped.