Write your first Markdown blog post
هذا المحتوى لا يتوفر بلغتك بعد.
Now that you have built pages using .astro
files, it’s time to make some blog posts using .md
files!
استعد لـ…
- Make a new folder and create a new post
- Write some Markdown content
- Link to your blog posts on your Blog page
Create your first .md
file
-
Create a new directory at
src/pages/posts/
. -
Add a new (empty) file
post-1.md
inside your new/posts/
folder. -
Look for this page in your browser preview by adding
/posts/post-1
to the end of your existing preview URL. (e.g.http://localhost:4321/posts/post-1
) -
Change the browser preview URL to view
/posts/post-2
instead. (This is a page you have not yet created.)Note the different output when previewing an “empty” page, and one that doesn’t exist. This will help you troubleshoot in the future.
Write Markdown content
-
Copy or type the following code into
post-1.md
src/pages/posts/post-1.md ---title: 'My First Blog Post'pubDate: 2022-07-01description: 'This is the first post of my new Astro blog.'author: 'Astro Learner'image:url: 'https://docs.astro.build/assets/full-logo-light.png'alt: 'The full Astro logo.'tags: ["astro", "blogging", "learning in public"]---# My First Blog PostPublished on: 2022-07-01Welcome to my _new blog_ about learning Astro! Here, I will share my learning journey as I build a new website.## What I've accomplished1. **Installing Astro**: First, I created a new Astro project and set up my online accounts.2. **Making Pages**: I then learned how to make pages by creating new `.astro` files and placing them in the `src/pages/` folder.3. **Making Blog Posts**: This is my first blog post! I now have Astro pages and Markdown posts!## What's nextI will finish the Astro tutorial, and then keep adding more posts. Watch this space for more to come. -
Check your browser preview again at
http://localhost:4321/posts/post-1
. You should now see content on this page. It may not yet be properly formatted, but don’t worry, you will update this later in the tutorial! -
Use your browser’s Dev Tools to inspect this page. Notice that although you have not typed any HTML elements, your Markdown has been converted to HTML. You can see elements such as headings, paragraphs, and list items.
The information at the top of the file, inside the code fences, is called frontmatter. This data—including tags and a post image—is information about your post that Astro can use. It does not appear on the page automatically, but you will access it later in the tutorial to enhance your site.
Link to your posts
-
Link to your first post with an anchor tag in
src/pages/blog.astro
:src/pages/blog.astro ------<html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width" /><title>Astro</title></head><body><a href="/">Home</a><a href="/about/">About</a><a href="/blog/">Blog</a><h1>My Astro Learning Blog</h1><p>This is where I will post about my journey learning Astro.</p><ul><li><a href="/posts/post-1/">Post 1</a></li></ul></body></html> -
Now, add two more files in
src/pages/posts/
:post-2.md
andpost-3.md
. Here is some sample code you can copy and paste into your files, or, you can create your own!src/pages/posts/post-2.md ---title: My Second Blog Postauthor: Astro Learnerdescription: "After learning some Astro, I couldn't stop!"image:url: "https://docs.astro.build/assets/arc.webp"alt: "Thumbnail of Astro arcs."pubDate: 2022-07-08tags: ["astro", "blogging", "learning in public", "successes"]---After a successful first week learning Astro, I decided to try some more. I wrote and imported a small component from memory!src/pages/posts/post-3.md ---title: My Third Blog Postauthor: Astro Learnerdescription: "I had some challenges, but asking in the community really helped!"image:url: "https://docs.astro.build/assets/rays.webp"alt: "Thumbnail of Astro rays."pubDate: 2022-07-15tags: ["astro", "learning in public", "setbacks", "community"]---It wasn't always smooth sailing, but I'm enjoying building with Astro. And, the [Discord community](https://astro.build/chat) is really friendly and helpful! -
Add links to these new posts:
src/pages/blog.astro ------<html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width" /><title>Astro</title></head><body><a href="/">Home</a><a href="/about/">About</a><a href="/blog/">Blog</a><h1>My Astro Learning Blog</h1><p>This is where I will post about my journey learning Astro.</p><ul><li><a href="/posts/post-1/">Post 1</a></li><li><a href="/posts/post-2/">Post 2</a></li><li><a href="/posts/post-3/">Post 3</a></li></ul></body></html> -
Check your browser preview and make sure that:
- All your links for Post 1, Post 2, and Post 3 lead to a working page on your site. (If you find a mistake, check your links on
blog.astro
or your Markdown file names.)
- All your links for Post 1, Post 2, and Post 3 lead to a working page on your site. (If you find a mistake, check your links on
Test your knowledge
- Content in a Markdown (
.md
) file is converted to:
Checklist
Resources
-
YAML frontmatter external