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

cli: Add new Markdown route command #4955

Merged
merged 5 commits into from
Aug 22, 2023
Merged

Conversation

brandonpittman
Copy link
Contributor

@brandonpittman brandonpittman commented Aug 17, 2023

Overview

This PR adds a way to quickly create Markdown-based routes using a syntax very close to the existing new route command.

Fixes #4931

# Usage

npm run qwik new /about.{md,mdx}

# Outputs src/routes/about/index.{md,mdx}

What is it?

  • Feature / enhancement
  • Bug
  • Docs / tests / types / typos

Description

If you have a lot of Markdown routes (say a blog), adding them individually can be cumbersome. This PR just mimics the implementation of route and component. The sole difference being you can affix :md to a route path to get a Markdown file instead of a TSX file.

Use cases and why

  • blog posts
  • documentation pages

Checklist:

  • My code follows the developer guidelines of this project
  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • Added new tests to cover the fix / functionality (I didn't find tests for the existing CLI stuff.)

To make it easier to add Markdown routes.

Because creating a folder with an index.md is cumbersome.
@stackblitz
Copy link

stackblitz bot commented Aug 17, 2023

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@netlify
Copy link

netlify bot commented Aug 17, 2023

👷 Deploy request for qwik-insights pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit 700abf4

@brandonpittman brandonpittman marked this pull request as ready for review August 17, 2023 05:30
@zanettin zanettin added COMP: DX Developer Experience related issue STATUS-2: PR waiting for review This PR is waiting for review and approval before merge labels Aug 17, 2023
@zanettin zanettin self-assigned this Aug 17, 2023
Copy link
Contributor

@zanettin zanettin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @brandonpittman 👋
Thx a lot for your (first) contribution 🎉 looks great! just left a question/input. let me know when another review can happen 🙏

packages/qwik/src/cli/new/run-new-command.ts Outdated Show resolved Hide resolved
let nameArg: string | undefined;
let outDir: string | undefined;
if (mainInput && mainInput.startsWith('/')) {
typeArg = 'route';
nameArg = mainInput;
if (mainInput.endsWith(':md')) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just my thought: wouldn't npm run qwik new /about.md be more natural? and just thought about .mdx as well 👼

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zanettin

I considered that too. I wasn't sure if it would appear as if we'd be creating an /about.md Markdown file. I'm okay with .md though. I also considered MDX. Should MDX be in this PR or would it be better as a later PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed the :md suffix to .md and added support for .mdx.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank u very much! will test it asap 🙏

@zanettin zanettin added WAITING FOR: user Further information is requested from the issue / pr opener and removed STATUS-2: PR waiting for review This PR is waiting for review and approval before merge labels Aug 18, 2023
@zanettin zanettin changed the title Add new Markdown route command to CLI cli: Add new Markdown route command Aug 18, 2023
brandonpittman and others added 3 commits August 19, 2023 09:32
Co-authored-by: roman zanettin <zanettin@users.noreply.github.com>
From `:md` to `.md`
@zanettin zanettin added STATUS-2: PR waiting for review This PR is waiting for review and approval before merge and removed WAITING FOR: user Further information is requested from the issue / pr opener labels Aug 19, 2023
@mhevery
Copy link
Contributor

mhevery commented Aug 22, 2023

What is blocking for this to be merged?

@zanettin
Copy link
Contributor

@mhevery just a final test. on it right now 👍

Copy link
Contributor

@zanettin zanettin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @brandonpittman 👋
works like a charm! thanks a lot for your contribution and time 🙏 and welcome to the contributors family 🤩

@zanettin zanettin merged commit 0d8ebf4 into QwikDev:main Aug 22, 2023
19 checks passed
@brandonpittman
Copy link
Contributor Author

brandonpittman commented Aug 23, 2023

Hi @brandonpittman 👋 works like a charm! thanks a lot for your contribution and time 🙏 and welcome to the contributors family 🤩

@zanettin

Thank you! Thinking about tackling the Valibot adapter issue next.

kodiakhq bot pushed a commit to ascorbic/unpic-img that referenced this pull request Aug 27, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@builder.io/qwik](https://qwik.builder.io/) ([source](https://togithub.com/BuilderIO/qwik)) | [`1.2.7` -> `1.2.10`](https://renovatebot.com/diffs/npm/@builder.io%2fqwik/1.2.7/1.2.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@builder.io%2fqwik/1.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@builder.io%2fqwik/1.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@builder.io%2fqwik/1.2.7/1.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@builder.io%2fqwik/1.2.7/1.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>BuilderIO/qwik (@&#8203;builder.io/qwik)</summary>

### [`v1.2.10`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.10)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.2.9...v1.2.10)

##### What's Changed

-   fix: docs/cookbook/index.mdx link to portal page by [@&#8203;Craiqser](https://togithub.com/Craiqser) in [QwikDev/qwik#5022
-   qwik-labs: fix prettier estree error by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#5027
-   insights: add existsSync check by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#5026
-   chore(insights): correct DB migration script by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#5024
-   fix(core): Report errors to browser global error handler by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#5029
-   style(pnpm-lock.yaml): synchronize lockfile version with version of pnpm in use by [@&#8203;jensmeindertsma](https://togithub.com/jensmeindertsma) in [QwikDev/qwik#4905
-   fix(starter): missing key attrib on `routerHead` component on `1.2.9` by [@&#8203;zanettin](https://togithub.com/zanettin) in [QwikDev/qwik#5025
-   1.2.10 by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#5035

**Full Changelog**: QwikDev/qwik@v1.2.9...v1.2.10

### [`v1.2.9`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.9)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.2.8...v1.2.9)

#### What's Changed

-   docs: Vercel environment variables by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#4993
-   refactor(create-qwik): add yargs in create-qwik for better DX by [@&#8203;MrWaip](https://togithub.com/MrWaip) in [QwikDev/qwik#4932
-   feat(adapter): firebase adapter by [@&#8203;leifermendez](https://togithub.com/leifermendez) in [QwikDev/qwik#4778
-   Pr chore by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4994
-   fix: Link component `reload` functionality by [@&#8203;zanettin](https://togithub.com/zanettin) in [QwikDev/qwik#4917
-   docs(qwikcity): html attributes docs page by [@&#8203;bab2683](https://togithub.com/bab2683) in [QwikDev/qwik#4961
-   feat(qwik-city): add a way to get server-side env vars from `onStaticGenerate` by [@&#8203;Kocal](https://togithub.com/Kocal) in [QwikDev/qwik#4912
-   fix(eslint): allow eslint to accept FunctionComponent inside lexical scopes by [@&#8203;nynevi](https://togithub.com/nynevi) in [QwikDev/qwik#4900
-   refactor(cloudflare-pages): allow PlatformCloudflarePages.env to be undefined by [@&#8203;bangonkali](https://togithub.com/bangonkali) in [QwikDev/qwik#4941
-   docs: dynamic alt image by [@&#8203;the-r3aper7](https://togithub.com/the-r3aper7) in [QwikDev/qwik#4999
-   docs: add responsive image recipe by [@&#8203;fabiobiondi](https://togithub.com/fabiobiondi) in [QwikDev/qwik#5002
-   docs: community project update image url by [@&#8203;the-r3aper7](https://togithub.com/the-r3aper7) in [QwikDev/qwik#5000
-   docs: enhance image documentation by [@&#8203;fabiobiondi](https://togithub.com/fabiobiondi) in [QwikDev/qwik#5005
-   added qwik-meet in showcase by [@&#8203;harshmangalam](https://togithub.com/harshmangalam) in [QwikDev/qwik#5007
-   docs: Update index.mdx by [@&#8203;the-r3aper7](https://togithub.com/the-r3aper7) in [QwikDev/qwik#5010
-   docs: update side bar by [@&#8203;the-r3aper7](https://togithub.com/the-r3aper7) in [QwikDev/qwik#5009
-   fix(qwik-city): enable matching route and pathname with an optional t… by [@&#8203;pleclech](https://togithub.com/pleclech) in [QwikDev/qwik#5004
-   docs(image): add details by [@&#8203;fabiobiondi](https://togithub.com/fabiobiondi) in [QwikDev/qwik#5014
-   insights(feat): qwikInsights Vite Plugin + save symbol details by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#5011
-   chore(insights): Remove deprecated InferModel by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#5018
-   fix: add  options to qwik vite plugin by [@&#8203;jessezhang91](https://togithub.com/jessezhang91) in [QwikDev/qwik#4983
-   1.2.9 by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#5021

#### New Contributors

-   [@&#8203;MrWaip](https://togithub.com/MrWaip) made their first contribution in [QwikDev/qwik#4932
-   [@&#8203;bab2683](https://togithub.com/bab2683) made their first contribution in [QwikDev/qwik#4961
-   [@&#8203;Kocal](https://togithub.com/Kocal) made their first contribution in [QwikDev/qwik#4912
-   [@&#8203;nynevi](https://togithub.com/nynevi) made their first contribution in [QwikDev/qwik#4900
-   [@&#8203;bangonkali](https://togithub.com/bangonkali) made their first contribution in [QwikDev/qwik#4941
-   [@&#8203;pleclech](https://togithub.com/pleclech) made their first contribution in [QwikDev/qwik#5004

**Full Changelog**: QwikDev/qwik@v1.2.8...v1.2.9

### [`v1.2.8`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.8)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.2.7...v1.2.8)

##### What's Changed

-   docs: cleanup by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4945
-   chore: update issue templates by [@&#8203;shairez](https://togithub.com/shairez) in [QwikDev/qwik#4962
-   docs: correctly generate edit URLs for github by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4963
-   Typo in FAQ by [@&#8203;ThatJSGuy](https://togithub.com/ThatJSGuy) in [QwikDev/qwik#4953
-   feat(qwik-city): Show current route in container by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4954
-   fix(docs): add overview link by [@&#8203;fabiobiondi](https://togithub.com/fabiobiondi) in [QwikDev/qwik#4958
-   Towards personalized SSG by [@&#8203;eric-burel](https://togithub.com/eric-burel) in [QwikDev/qwik#4951
-   fix(qwik-auth): remove qaction param from defaultCallbackUrl by [@&#8203;ulic75](https://togithub.com/ulic75) in [QwikDev/qwik#4936
-   fix(qwik-city): cleanup matchRouteRequest by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#4967
-   fix(auth): Cookies get updated if session returns Updated Cookies by [@&#8203;aliyss](https://togithub.com/aliyss) in [QwikDev/qwik#4960
-   cli(library): fix release script by [@&#8203;fabiobiondi](https://togithub.com/fabiobiondi) in [QwikDev/qwik#4957
-   docs: Improved media, fixed height thumbnails by [@&#8203;the-r3aper7](https://togithub.com/the-r3aper7) in [QwikDev/qwik#4970
-   feat(qwik-city): Adding Script Tag to Head Tag via DocumentHead by [@&#8203;Harkunwar](https://togithub.com/Harkunwar) in [QwikDev/qwik#3230
-   fix: fix cookie parsing to allow invalid uri encoding by [@&#8203;jessezhang91](https://togithub.com/jessezhang91) in [QwikDev/qwik#4915
-   fix(qwikcity): respect X-Forwarded-Host header by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4982
-   chore(docs): fix broken cloudflare build by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4984
-   feat(insights): manage routes and timeline metrics by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#4971
-   feat: complex form data by [@&#8203;ulic75](https://togithub.com/ulic75) in [QwikDev/qwik#4634
-   docs(portals): update the portal cookbook example by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4968
-   chore(insights): fix build by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4986
-   fix: only show qwik eslint errors in dev mode by [@&#8203;jessezhang91](https://togithub.com/jessezhang91) in [QwikDev/qwik#4985
-   docs: some progress on the update of the react-cheat-sheet section re… by [@&#8203;nsdonato](https://togithub.com/nsdonato) in [QwikDev/qwik#4976
-   chore(docs): Remove home-page from SSR to improve TTFB metric by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4988
-   Pr no ssr by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4989
-   cli: Add new Markdown route command by [@&#8203;brandonpittman](https://togithub.com/brandonpittman) in [QwikDev/qwik#4955
-   docs: update Prisma limitations by [@&#8203;ruheni](https://togithub.com/ruheni) in [QwikDev/qwik#4241
-   1.2.8 by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4992

##### New Contributors

-   [@&#8203;ThatJSGuy](https://togithub.com/ThatJSGuy) made their first contribution in [QwikDev/qwik#4953
-   [@&#8203;fabiobiondi](https://togithub.com/fabiobiondi) made their first contribution in [QwikDev/qwik#4958
-   [@&#8203;eric-burel](https://togithub.com/eric-burel) made their first contribution in [QwikDev/qwik#4951
-   [@&#8203;aliyss](https://togithub.com/aliyss) made their first contribution in [QwikDev/qwik#4960
-   [@&#8203;brandonpittman](https://togithub.com/brandonpittman) made their first contribution in [QwikDev/qwik#4955
-   [@&#8203;ruheni](https://togithub.com/ruheni) made their first contribution in [QwikDev/qwik#4241

**Full Changelog**: QwikDev/qwik@v1.2.7...v1.2.8

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9pm on sunday" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/ascorbic/unpic-img).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi42NC44IiwidXBkYXRlZEluVmVyIjoiMzYuNjQuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
COMP: DX Developer Experience related issue STATUS-2: PR waiting for review This PR is waiting for review and approval before merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[✨] Create new Markdown route with CLI
3 participants