Make a Blog and Documentation site using VuePress (r) (r)
-sidebar-toc>
What exactly is VuePress?
What are the advantages of utilizing VuePress?
Here are a few convincing arguments to think about the reasons why VuePress could be the ideal selection for you.
- Markdown's user-friendliness VuePress streamlines the production of content by using Markdown, which makes it simple to create and maintain the content you want to share without the need for complicated formatting.
- Vue.js integration VuePress easily integrates Vue.js for the user with an interactive and exciting web component that provides a pleasurable user experience.
- Performance and customization: VuePress offers excellent performance, fast loading static websites, as along with a range of customisation options to match your personal preferences and preference.
The Beginning of VuePress
In this article, we'll employ the manual method to install.
- Create a new directory. Change it to:
mkdir vuepress-starter && cd vuepress-starter
- Begin by connecting to the preferred administrator of your package. In this case, we'll use Yarn.
yarn contained within it
- Install VuePress within your application to make it a dependency for developers
yarn add -D vuepress
- Create a document folder to house the entire program. Then you can build your README.md file, serving as the index file for the program. It is similar to index.html:
mkdir docs && echo '# Hello VuePress' > docs/README.md
- Start your website in the editor that is compatible with code. Then, add the following scripts into the package.json file so it can serve and create your site:
"scripts": "dev": "vuepress dev docs", "build": "vuepress build Docs" ,
Now you can connect your site to the internet using the yarn development
command. VuePress will start your development server at http://localhost:8080.
Now is the moment to create your own website for documentation. It will be apparent that VuePress provides a contemporary minimalist design right out of the box. It's highly customizable and gives users the option to create a unique style and design to your website.
Page Designing for Documentation
For instance, you can you can create documents like getting-started.md, usage.md, and troubleshooting.md. These files automatically become routes that can be accessed when you navigate to http://localhost:8080/getting-started, http://localhost:8080/usage and http://localhost:8080/troubleshooting.
To improve the management of your documentation, and help you to organize the documentation you have, design separate folders that contain documents that are related to it. It is possible to create a folder called "guide," and then arrange it in line with particular guides, for instance, using--stsh.md. When you employ this structure, the content in using--stsh.md becomes accessible via a URL like http://localhost:8080/guide/using--stsh.
It is also possible to create an README.md or index.md file at the highest point of the guides directory. This file will serve as the index page, allowing users to navigate to http://localhost:8080/guide/ and conveniently access the content with a sidebar you will learn how to configure in the next section.
The documents in this VuePress example repository It is evident that the documents have been constructed, with certain marking-related details added to every document. You can design your own file according to your personal preferences beginning from scratch and altering their content according to your preferences or drawing inspiration from the documents accessible on the repository.
Modifying VuePress Appearance
After you've completed filling out the web page with the documentation of the information you have, it can be difficult to navigate, especially if you've got many documents to manage. However, VuePress allows you to change the layout of your website, making your site more user-friendly and well-organized.
For customizing your website's look as well as layout, you'll need to set up to create the .vuepress folder in the root directory of your site. The folder contains the configuration files along with other assets that are related to the VuePress site.
Navigation Configuration
Within the .vuepress folder, create in the.vuepress directory within the.vuepress directory the config.js file. There are other formats for files such as YAML (.yml), TOML (.toml) and TypeScript (.ts) for the settings you want to set.
Within the config.js file, you'll be able define the navigation layout on your site by making use of the themeConfig
object. This is an example setting:
module.exports = title: ' Vuepress', description: 'A VuePress QuickStart for ', themeConfig: nav: [ text: 'Guide', link: '/guide/', , text: 'Static Site Hosting', link: 'https://.com/static-site-hosting/', , ], sidebar: '/guide/': [ title: 'Guide', collapsable: false, children: ['', 'using--stsh'], , ], , , ;
We'll set up the website's title
as well as the description
as well as creating links for navigation and setting an additional sidebar within the "/guide/"
section.
The "NAV"
array is a list of navigation hyperlinks that can be found on the top right of your page. The sidebar object defines how your sidebar will be structured for specific sections. This is specified for the section /guideguide.
section.
Find out more information about how to configure the navbars within this VuePress document.
Styling
VuePress lets you customize the appearance of your site through the use of designs. It is possible to alter the default stylings by making use of specific variables or design your own. In order to accomplish one of these, it is necessary to make your style folder in the .vuepress folder
To make simple changes to the look of default settings or to define variables for later use, you could create the palette.styl file in .vuepress/styles. There are a few variables which have been defined that to be tweaked:
// colors $accentColor = #5333ED $textColor = $2c3e50. $borderColor = #eaecef. $arrowBgColor = #ccc $badgeTipColor = #42b983 $badgeWarningColor = darken(#ffe564 3,5 percent) $badgeErrorColor is #DA5961 // layout $navbarHeight = 3.6rem $sidebarWidth = 20rem $contentWidth is 740px. The home page width is 996 pixels. The responsive breakpoints are $MQNarrow = 959px $MQMobile = 719px $MQMobileNarrow = 419px
.content font-size 30px
Learn more about the ways to style VuePress by reading the instructions for VuePress.
Using Components
VuePress permits the use of components that enhance the look and functionality of your website. You can create Vue components and then add these components to your Markdown file. Make the components
Components folder is located in .vuepres, and components folder in.vuepres, and *.vue
files found in .vuepress/components are automatically recognised as global components.
Consider, for instance, the development of two elements: HomeOptions.vue and HostingBanner.vue:
. +- .vuepress +component+ HomeOptions.vue +HostingBanner.vue HostingBanner.vue
Within these vue.js components, you can additionally incorporate CSS codes. These codes will be added to the components. HomeOptions.vue and HostingBanner.vue components.
Integrate the following code into HomeOptions.vue:
A color code: #2c3e50. hover color is #5333ed.options display size: The width of the flex is 10 pixels with a margin of 40px.option The border is 2 pixels of solid #eaecef padding: 10px.
Add the following amount of letters HostingBanner.vue:
Create static websites at no Cost! Learn More/a> scoped>.banner Background: rgb(156 85, 34) Background: linear-gradient( 90deg rgba(156 85 34, 1,) zero, rgba(32 501, 1,) 42% rgba(13 18 25 1) 69 percent, rgba(22, 47 60,) 100 percent ) Color: #fff; padding 20px; border-radius: 5px; display: justify-content and flex. Central aligned items: central and flexible-direction columns. the.banner p.banner P width: 600px; font size: 40px font-weight, bold alignment of text: center; line height 50px .banner .btn the border measures 5px wide. The border at the bottom measures just 10px high.banner .btn:hover on the background and select #111319 the color is #fffff.
If you have a Markdown file, you're in a position to use it immediately. elements (names are inferred from the name of the document):
Learn more regarding the features of VuePress within the documentation for help.
You can customize the homepage
Inside VuePress the default template comes with the design of your homepage and can be used to create a stunning and functional homepage for your site. In order to use the design for your homepage it's necessary to set home to true
and include additional information in the first matter of YAML in the basic README.md file.
Here's an illustration of YAML frontmatter:
Coding >--- home image: /hero.png heroText Tagline Hero title: Hero subtitle actionText"Get Started"actionLink The guide/features title is simple: Minimal setup with Markdown-centered structure allows you to concentrate on the writing. - title: Vue-Poweredinformation: Experience the developer experience of Vue with webpack. Utilize Vue elements that use markdown to create custom themes using Vue. Title: Performantspecifics VuePress produces static HTML that has been pre-rendered on each page. It is then executed as an SPA when the page is loaded. footer MIT Licensed Copyright (c) 2018-present Evan You Evan You---
These configurations can create the appearance of your homepage for documentation to be like:
You may disable any heroText
or tagline
as well as any other details by setting the fields are connected to the field. zero.
If you'd rather simpler layout, or you prefer not to include information. The information you include in the YAML frontmatter (i.e. this metadata component) will be treated as normal Markdown and will then be rendered in line with the section on features.
If you're seeking completely customized layout for your homepage, VuePress also supports Custom Layouts. Additionally, you can build rich-text footers by using the Markdown Slot Syntax. This allows for greater flexibility when it comes to display of the contents in your footer. Below is an example on how you can design a stylish footer by using extensive text:
* The code >--- home"true" : The footer of the slotsMade is created by . [Static Site Hosting](https://.com/static-site-hosting/) :::
If so, you can use the information contained in the footer
section allows you to incorporate links and other details in the footer section on your home page.
When you've got a good understanding of how to perform these changes, you'll be able incorporate the elements that you had added previously to the Homepage and remove those elements so that your Homepage is more appealing:
"code>> >---"code>>" home True tagline VuePress QuickStart and ActionText Quick Start ActionLink Guide/footer of the slot developed by . [Static Site Hosting](https://.com/static-site-hosting/) :::
If you implement these customizing strategies to VuePress with these VuePress methods of customization, you'll be able create a stunning website that is not just a good source of content it also provides a pleasant user experience featuring well-organized navigation, and appealing design.
More information about changing your default themes in the Help file.
The style of blogs using VuePress
The addition of a blog page to your VuePress website is simple since VuePress allows users to design custom Vue components to be added to all Markdown documents. Let's design a section that displays the blog's posts listing.
Create a BlogIndex.vue file in the components folder. Incorporate the following code
> export default computed: posts() return this.$site.pages .filter( (x) => x.path.startsWith('/blog/') && !x.frontmatter.blog_index ) .sort( (a, b) => new Date(b.frontmatter.date) - new Date(a.frontmatter.date) ); , , ;
With the code snippet provided within the code snippet you could design a Vue template that runs the blog's contents using the v-for
and shows the title of your blog post along with its description, as well as the "Read more" hyperlink for every post.
The script section exports the Vue component which computes and reads blog post entries. The blog entries are classified based on their place of where they originated (starting by the letter"/blog"/blog"
) and also the blog_index frontmatter is not present. blog_index
frontmatter attribute. Then, they're sorted based on the date in an order that descends to show those with the latest dates in the first place.
When you're writing new blog posts, it is essential to include the date that you posted the blog post in your list of the details in the headline. This will help you organize your content so that the most recent post is the first to be published.
In order to save blog posts, you need to create a blog folder blog within the root folder in the project. In the folder, you will be able to add to it the README.md file. This file will serve as your BlogIndex, and is where you will include to your BlogIndex
element to display every blog post.
blog_index: trueblog_index True Blog Hello and welcome to our Blog
It is important to ensure that you include the blog_index
frontmatter property as it's crucial to make sure your blog's index isn't included in the individual blog post. This property can be used for filtering posts within the property that calculates the posts in BlogIndex.vue. BlogIndex.vue component.
Create an archive folder for blogs as the basis of your plan to keep blog entries and then make each blog post. As an example, you can create first-post.md as the first-post.md file and include the following information in the format markdown:
A code >--- code with the name "My exciting VuePress Blog Journey" The time is 2023-9-28, September 28, description "Exploring VuePress, a flexible static site generator. I will share my experience through the entire process." ---# My wonderful VuePress Blog Journey my first blog post I am beginning my journey by using VuePress a efficient static site generator ideal to create blog posts, documents and more. In my journey into VuePress's intricacies, I'll be sharing my experience, ideas and tips on making the most of this fantastic tool.
Each blog post should make sure you have defined essential elements of your headline. This includes the name of your blog post as well as the date that it was first published, as well as other pertinent metadata. A meticulously organized blog ensures your blog's content is effectively organized and can provide an engaging reading experience for your readers.
It is also possible to integrate the blog's navigation into the navigation bar of the .vuepress/config.js file:
nav: [ text: 'Guide', link: '/guide/', , text: 'Blog', link: '/blog/' , text: 'Static Site Hosting', link: 'https://.com/static-site-hosting/', , ],
You can do a lot using VuePress. It is possible to accomplish using VuePress for example, adding the plugins, using a distinctive theme and developing custom themes.
Install VuePress Static Site
# dependencies /node_modules # build directory ./docs/.vuepress/dist /public
- Create an account to gain access to your dashboard. My dashboard.
- Authorize your Git service provider.
- Select Static Sites in the left-hand sidebar. Select Static Sites, and select Add Site. Create Site.
- Choose the repository or branch that you want to make a deployment of from.
- Assign a unique name to your site.
- Create the parameters for your design by observing the following template:
- Build command:
Build command from NPM
- Node version:
16.20.0
- Publish directory:
./docs/.vuepress/dist
orpublic
- Then you can click to create your site..
Summary
VuePress is an extremely versatile and powerful tool to create quick blogs as well as documentation. By using its straightforward setup process as well as the option of customizing plugins and themes you can develop a highly captivating and appealing website that appeals to users.
Design your VuePress website now and get started sharing your knowledge with all over the world. It is possible to host your VuePress website with the help of our Static Site Hosting plan for absolutely no cost!
Have you used VuePress to design some kind of thing? Please share your projects and your experiences with us in the comment section below.
Joel Olawanle
Joel is an Frontend Developer in the role of Technical Editor. He is an avid educator who is a lover of open-source software and has published more than 200 technical articles, with the bulk of them on JavaScript and its frameworks.
Article was first seen on this site
This post was posted on here