Add smma/landing_page_hugo.md
This commit is contained in:
143
smma/landing_page_hugo.md
Normal file
143
smma/landing_page_hugo.md
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
# Hugo CSS SEO-optimized landing page
|
||||||
|
|
||||||
|
Project Structure:
|
||||||
|
```
|
||||||
|
landing-page/
|
||||||
|
├── archetypes/
|
||||||
|
│ └── default.md
|
||||||
|
├── content/
|
||||||
|
│ └── _index.md
|
||||||
|
├── layouts/
|
||||||
|
│ ├── _default/
|
||||||
|
│ │ ├── baseof.html
|
||||||
|
│ │ └── landing.html
|
||||||
|
│ └── partials/
|
||||||
|
│ ├── header.html
|
||||||
|
│ ├── footer.html
|
||||||
|
│ └── cta.html
|
||||||
|
├── static/
|
||||||
|
│ ├── css/
|
||||||
|
│ │ └── main.css
|
||||||
|
│ └── images/
|
||||||
|
└── config.toml
|
||||||
|
```
|
||||||
|
|
||||||
|
Explanation:
|
||||||
|
- The `archetypes` directory contains the default template for new content pages.
|
||||||
|
- The `content` directory holds the content for the landing page, typically in Markdown format.
|
||||||
|
- The `layouts` directory contains the HTML templates for the landing page.
|
||||||
|
- `_default/baseof.html` is the base template that defines the overall structure of the page.
|
||||||
|
- `_default/landing.html` is the specific template for the landing page.
|
||||||
|
- The `partials` directory contains reusable HTML components such as the header, footer, and CTA.
|
||||||
|
- The `static` directory holds static assets such as CSS stylesheets and images.
|
||||||
|
- The `config.toml` file contains the configuration settings for the Hugo site.
|
||||||
|
|
||||||
|
CSS Code Base:
|
||||||
|
1. Reset and base styles:
|
||||||
|
```css
|
||||||
|
/* Reset default browser styles */
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set base font styles */
|
||||||
|
body {
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 1.5;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Layout and spacing:
|
||||||
|
```css
|
||||||
|
/* Set a max-width for the content */
|
||||||
|
.container {
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add spacing between sections */
|
||||||
|
section {
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Typography:
|
||||||
|
```css
|
||||||
|
/* Style headings */
|
||||||
|
h1 {
|
||||||
|
font-size: 32px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Style paragraphs */
|
||||||
|
p {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Call-to-action (CTA) button:
|
||||||
|
```css
|
||||||
|
/* Style the CTA button */
|
||||||
|
.cta-button {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 12px 24px;
|
||||||
|
background-color: #007bff;
|
||||||
|
color: #fff;
|
||||||
|
text-decoration: none;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-weight: bold;
|
||||||
|
transition: background-color 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cta-button:hover {
|
||||||
|
background-color: #0056b3;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Responsive design:
|
||||||
|
```css
|
||||||
|
/* Media queries for responsive layout */
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.container {
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
These are just a few examples of CSS styles you can apply to your landing page. You'll need to customize and expand upon them based on your specific design requirements.
|
||||||
|
|
||||||
|
Remember to optimize your CSS for performance by minimizing file size, using efficient selectors, and leveraging browser caching.
|
||||||
|
|
||||||
|
In the Hugo templates, you'll include the CSS file in the `<head>` section of your `baseof.html` file:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="{{ "css/main.css" | relURL }}">
|
||||||
|
</head>
|
||||||
|
```
|
||||||
|
|
||||||
|
This assumes that your CSS file is located at `static/css/main.css`.
|
||||||
|
|
||||||
|
You can then structure your landing page content in the `landing.html` template using HTML and Hugo's template language. Use the appropriate HTML tags and classes to apply the CSS styles to your content.
|
||||||
|
|
||||||
|
Remember to test your landing page across different devices and browsers to ensure a consistent and responsive experience.
|
||||||
Reference in New Issue
Block a user