mirror of
https://github.com/thiloho/aurora.git
synced 2025-11-22 03:21:35 +01:00
Update code component and example articles
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.7 MiB |
169
src/content/blog/build-a-good-website.md
Normal file
169
src/content/blog/build-a-good-website.md
Normal file
@@ -0,0 +1,169 @@
|
|||||||
|
---
|
||||||
|
title: "Build a good website"
|
||||||
|
publicationDate: 2023-05-07
|
||||||
|
description: "Learn to create and publish a performant, accessible and SEO friendly website."
|
||||||
|
---
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
To get the most out of this article, you should have a basic understanding of [HTML](https://developer.mozilla.org/en-US/docs/Learn/HTML), [CSS](https://developer.mozilla.org/en-US/docs/Learn/CSS) and [JavaScript](https://developer.mozilla.org/en-US/docs/Learn/JavaScript) as well as some common terms (e.g. accessibility, dependency, deployment, build).
|
||||||
|
|
||||||
|
## Static site generators
|
||||||
|
|
||||||
|
While you could simply create a few `.html`, `.css` and `.js` files and link them together to create your website, using a Static site generator (SSG) can make things a lot easier.
|
||||||
|
|
||||||
|
SSGs make your project a bit more complicated, but you will get used to it quickly and greatly benefit from the many advantages. Here are a few of them:
|
||||||
|
|
||||||
|
- Reuse snippets of code with components
|
||||||
|
- Scoped CSS styles to avoid complex selectors
|
||||||
|
- Optimizing your code (e.g. minifying CSS or JavaScript) at build time
|
||||||
|
- Live development server
|
||||||
|
- File based routing
|
||||||
|
|
||||||
|
There are a lot of SSGs out there, and I tried many of them, but the one I liked the most and recommend is [Astro](https://astro.build/). It is actively maintained, has a great documentation and a lot of cool, unique features.
|
||||||
|
|
||||||
|
## Semantic HTML
|
||||||
|
|
||||||
|
Using the right HTML element for the right job makes your website more accessible, SEO friendly and can also make your life easier, so it makes a lot of sense to learn when to use which element.
|
||||||
|
|
||||||
|
### Page structure
|
||||||
|
|
||||||
|
To get started with the general layout of your page(s), you can use the following template:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<body>
|
||||||
|
<nav>
|
||||||
|
<div class="container">
|
||||||
|
<a href="/">Logo</a>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a href="/projects">Projects</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/blog">Blog</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/contact">Contact</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<header>
|
||||||
|
<div class="container">
|
||||||
|
<h1>Headline</h1>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<main>
|
||||||
|
<div class="container">
|
||||||
|
<section id="about">
|
||||||
|
<h2>About</h2>
|
||||||
|
<!-- ... -->
|
||||||
|
</section>
|
||||||
|
<section id="features">
|
||||||
|
<h2>Features</h2>
|
||||||
|
<!-- ... -->
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
<footer>
|
||||||
|
<div class="container">
|
||||||
|
<small>Copyright © 2023 Your Name</small>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Semantic elements
|
||||||
|
|
||||||
|
- [address](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/address)
|
||||||
|
- [article](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/article)
|
||||||
|
- [blockquote](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote)
|
||||||
|
- [details](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details)
|
||||||
|
- [dialog](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog)
|
||||||
|
- [fieldset](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset)
|
||||||
|
- [figure](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure)
|
||||||
|
- [section](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/section)
|
||||||
|
- [time](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time)
|
||||||
|
|
||||||
|
Of course there are many more, the elements listed above are just some of the ones I used a few times. Navigate to the [MDN HTML elements reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Element) for a well structured overview of all the elements.
|
||||||
|
|
||||||
|
## Accessible styles
|
||||||
|
|
||||||
|
While styling your elements with CSS, you should also keep accessibility in mind. Here are some simple guidelines:
|
||||||
|
|
||||||
|
- `font-size` should be at least `16px` and `line-height` `1.5` or `1.6` for good readability. Another improvement would be to limit the `width` of text to `70ch`.
|
||||||
|
- Color contrasts are important, do not put dark gray text on a black background
|
||||||
|
- Pay attention to responsiveness, so your website is usable on any screen size
|
||||||
|
- Interactive elements, such as `<button>` or `<a>` should have a large tap area for mobile users
|
||||||
|
|
||||||
|
After applying the styles shown above and some more simple ones to the [HTML page template](#page-structure):
|
||||||
|
|
||||||
|
```css
|
||||||
|
body {
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
border-block-end: 0.0625rem solid hsl(0 0% 50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
nav > .container, nav ul {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav .container {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav ul {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-inline-size: 70ch;
|
||||||
|
margin-inline: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
display: inline-block;
|
||||||
|
padding-inline: 1rem;
|
||||||
|
padding-block: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
border-block-start: 0.0625rem solid hsl(0 0% 50%);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
we have an accessible, and solid looking website:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Performance
|
||||||
|
|
||||||
|
When using a SSG, you basically do not have to do anything here. At build time, many optimizations are performed to make the production website as fast as possible.
|
||||||
|
|
||||||
|
With Astro you can even use a special `src/assets` directory where all your stored images are optimized in. The photos on my [gallery](https://thilohohlt.com/gallery) page rely on this mechanism. Each of them becomes up to **ten times** smaller in file size.
|
||||||
|
|
||||||
|
|
||||||
|
## Search engine optimization
|
||||||
|
|
||||||
|
SEO is a big topic, there is a lot to it. I recommend going through the [Google SEO starter guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide?hl=en&visit_id=638190130030783607-1110661193&rd=1) to pick up the most important information. Following the patterns shown in that article should get you really far.
|
||||||
|
|
||||||
|
## Publishing your website
|
||||||
|
|
||||||
|
Being able to only access your website from your own computer is boring, is it not? Fortunately you have plenty of options for bringing your site online and thus making it accessible to anyone on the internet.
|
||||||
|
|
||||||
|
My favorite way to automate this process is to use [Git](https://git-scm.com/), [GitHub](https://github.com/) and [Cloudflare Pages](https://pages.cloudflare.com/). Besides Cloudflare Pages, I also highly recommend [Netlify](https://www.netlify.com/) or [Vercel](https://vercel.com/).
|
||||||
|
|
||||||
|
There are wonderful [recipes on how to deploy your website](https://docs.astro.build/en/guides/deploy/) for different hosting platforms in the Astro documentation, so I will not try to replicate them here.
|
||||||
|
|
||||||
|
In case you are not using a SSG, you can follow the [Cloudflare Pages deployment guide](https://developers.cloudflare.com/pages/framework-guides/deploy-anything/).
|
||||||
|
|
||||||
|
## Conclusion
|
||||||
|
|
||||||
|
I hope this article helped you to create an accessible and performant modern website. There is also a section in my resources page which lists multiple [useful tools for building websites and web applications](https://thilohohlt.com/resources/#build-modern-websites-and-web-applications).
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
title: "First post"
|
|
||||||
publicationDate: 2023-05-05
|
|
||||||
description: "Lessing it ladyship on sensible judgment settling outweigh. Worse linen an of civil jokes leave offer."
|
|
||||||
---
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
Picture removal detract earnest is by. Esteems met joy attempt way clothes yet demesne tedious. Replying an marianne do it an entrance advanced. Two dare say play when hold. Required bringing me material stanhill jointure is as he. Mutual indeed yet her living result matter him bed whence.
|
|
||||||
|
|
||||||
Or kind rest bred with am shed then. In raptures building an bringing be. Elderly is detract tedious assured private so to visited. Do travelling companions contrasted it. Mistress strongly remember up to. Ham him compass you proceed calling detract. Better of always missed we person mr. September smallness northward situation few her certainty something.
|
|
||||||
|
|
||||||
On on produce colonel pointed. Just four sold need over how any. In to september suspicion determine he prevailed admitting. On adapted an as affixed limited on. Giving cousin warmly things no spring mr be abroad. Relation breeding be as repeated strictly followed margaret. One gravity son brought shyness waiting regular led ham.
|
|
||||||
|
|
||||||
## First chapter
|
|
||||||
|
|
||||||
No in he real went find mr. Wandered or strictly raillery stanhill as. Jennings appetite disposed me an at subjects an. To no indulgence diminution so discovered mr apartments. Are off under folly death wrote cause her way spite. Plan upon yet way get cold spot its week. Almost do am or limits hearts. Resolve parties but why she shewing. She sang know now how nay cold real case.
|
|
||||||
|
|
||||||
New had happen unable uneasy. Drawings can followed improved out sociable not. Earnestly so do instantly pretended. See general few civilly amiable pleased account carried. Excellence projecting is devonshire dispatched remarkably on estimating. Side in so life past. Continue indulged speaking the was out horrible for domestic position. Seeing rather her you not esteem men settle genius excuse. Deal say over you age from. Comparison new ham melancholy son themselves.
|
|
||||||
|
|
||||||
Repulsive questions contented him few extensive supported. Of remarkably thoroughly he appearance in. Supposing tolerably applauded or of be. Suffering unfeeling so objection agreeable allowance me of. Ask within entire season sex common far who family. As be valley warmth assure on. Park girl they rich hour new well way you. Face ye be me been room we sons fond.
|
|
||||||
|
|
||||||
## Second chapter
|
|
||||||
|
|
||||||
Advantage old had otherwise sincerity dependent additions. It in adapted natural hastily is justice. Six draw you him full not mean evil. Prepare garrets it expense windows shewing do an. She projection advantages resolution son indulgence. Part sure on no long life am at ever. In songs above he as drawn to. Gay was outlived peculiar rendered led six.
|
|
||||||
|
|
||||||
Ten the hastened steepest feelings pleasant few surprise property. An brother he do colonel against minutes uncivil. Can how elinor warmly mrs basket marked. Led raising expense yet demesne weather musical. Me mr what park next busy ever. Elinor her his secure far twenty eat object. Late any far saw size want man. Which way you wrong add shall one. As guest right of he scale these. Horses nearer oh elinor of denote.
|
|
||||||
|
|
||||||
## Conclusion
|
|
||||||
|
|
||||||
Ten the hastened steepest feelings pleasant few surprise property. An brother he do colonel against minutes uncivil. Can how elinor warmly mrs basket marked. Led raising expense yet demesne weather musical. Me mr what park next busy ever. Elinor her his secure far twenty eat object. Late any far saw size want man. Which way you wrong add shall one. As guest right of he scale these. Horses nearer oh elinor of denote.
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Markdown style guide"
|
|
||||||
publicationDate: 2023-05-17
|
|
||||||
description: "Here is a sample of some basic Markdown syntax that can be used when writing Markdown content in Astro."
|
|
||||||
---
|
|
||||||
|
|
||||||
## Headings
|
|
||||||
|
|
||||||
### H3
|
|
||||||
|
|
||||||
#### H4
|
|
||||||
|
|
||||||
## Inline styles
|
|
||||||
|
|
||||||
hello **bold** the brown fox jumps _italicized text_ over the `code` high fence [link](https://example.com) and ~~the world is flat~~.
|
|
||||||
|
|
||||||
## Blockquote
|
|
||||||
|
|
||||||
> Be courteous to all, but intimate with few, and let those few be well tried before you give them your confidence. True friendship is a plant of slow growth, and must undergo and withstand the shocks of adversity before it is entitled to the appellation.<br>
|
|
||||||
> — <cite>George Washington</cite>
|
|
||||||
|
|
||||||
## Lists
|
|
||||||
|
|
||||||
### Ordered list
|
|
||||||
|
|
||||||
1. First item
|
|
||||||
2. Second item
|
|
||||||
3. Third item
|
|
||||||
|
|
||||||
### Unordered list
|
|
||||||
|
|
||||||
- First item
|
|
||||||
- Second item
|
|
||||||
- Third item
|
|
||||||
|
|
||||||
## Horizontal rule
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Image
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Table
|
|
||||||
|
|
||||||
This is technically not a table anymore. To make it completely responsive, I applied `display: block` and `overflow-x: auto` on the `table` element.
|
|
||||||
|
|
||||||
| Syntax | Description |
|
|
||||||
| --------- | ----------- |
|
|
||||||
| Header | Title |
|
|
||||||
| Paragraph | Text |
|
|
||||||
|
|
||||||
## Fenced code block
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"firstName": "John",
|
|
||||||
"lastName": "Smith",
|
|
||||||
"age": 25
|
|
||||||
}
|
|
||||||
```
|
|
||||||
198
src/content/blog/nix-flake-examples.md
Normal file
198
src/content/blog/nix-flake-examples.md
Normal file
@@ -0,0 +1,198 @@
|
|||||||
|
---
|
||||||
|
title: "Nix flake examples"
|
||||||
|
publicationDate: 2023-05-12
|
||||||
|
description: "Improve reproducibility, composability and usability of nix-based projects with flakes and the experimental cli commands."
|
||||||
|
---
|
||||||
|
|
||||||
|
## Multi-machine configuration
|
||||||
|
|
||||||
|
```
|
||||||
|
nixos-config
|
||||||
|
├── flake.nix
|
||||||
|
└── nixos-configurations
|
||||||
|
├── laptop
|
||||||
|
│ ├── default.nix
|
||||||
|
│ └── hardware-configuration.nix
|
||||||
|
├── pc
|
||||||
|
│ ├── default.nix
|
||||||
|
│ └── hardware-configuration.nix
|
||||||
|
└── shared.nix
|
||||||
|
```
|
||||||
|
|
||||||
|
```nix
|
||||||
|
{
|
||||||
|
description = "NixOS configuration";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = inputs@{ nixpkgs, home-manager, ... }: {
|
||||||
|
nixosConfigurations = {
|
||||||
|
pc = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./nixos-configurations/pc
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
laptop = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./nixos-configurations/laptop
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Set up a new machine
|
||||||
|
|
||||||
|
First, complete the following steps:
|
||||||
|
|
||||||
|
1. Create a new GitHub repository and push your configuration to the repository
|
||||||
|
2. Boot the machine you wish to install on with the minimal NixOS ISO image
|
||||||
|
3. Follow the instructions in the [nixos installation guide](https://nixos.org/manual/nixos/stable/index.html#sec-installation-manual-summary) until `nixos-generate-config --root /mnt`
|
||||||
|
|
||||||
|
After that, you can use these commands:
|
||||||
|
|
||||||
|
```
|
||||||
|
nix-shell -p git
|
||||||
|
git clone https://github.com/<username>/<repository>.git
|
||||||
|
cd <config>/nixos-configurations/<machine>
|
||||||
|
nixos-generate-config --root /mnt --show-hardware-config > hardware-configuration.nix
|
||||||
|
git add --all
|
||||||
|
git commit -m "Set hardware configuration for new machine"
|
||||||
|
git push -u origin main
|
||||||
|
cd ~
|
||||||
|
nixos-install --flake github:<username>/<repository>#<configuration>
|
||||||
|
```
|
||||||
|
|
||||||
|
And that is it. Once the installation is done, you can set the root password, reboot, unplug the boot medium and enjoy your new system.
|
||||||
|
|
||||||
|
#### Example machine installation
|
||||||
|
|
||||||
|
An example of the above procedure for the `laptop` configuration, defined in `flake.nix` of [my minimal multihost configuration](https://github.com/thiloho/nixos-config)
|
||||||
|
|
||||||
|
```
|
||||||
|
nix-shell -p git
|
||||||
|
git clone https://github.com/thiloho/nixos-config.git
|
||||||
|
cd nixos-config/nixos-configurations/laptop
|
||||||
|
nixos-generate-config --root /mnt --show-hardware-config > hardware-configuration.nix
|
||||||
|
git add --all
|
||||||
|
git commit -m "Set hardware configuration for new machine"
|
||||||
|
git push -u origin main
|
||||||
|
cd ~
|
||||||
|
nixos-install --flake github:thiloho/nixos-config#laptop
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### Changing and rebuilding configuration of another machine remotely
|
||||||
|
|
||||||
|
Suppose you want to host a new service on your NixOS server that is several hundred kilometers away from you. In that case, it would be very handy to use a nearby machine to remotely update the server's configuration.
|
||||||
|
|
||||||
|
You can easily do that by updating the configuration file for the machine and then deploying the changes with the following command:
|
||||||
|
|
||||||
|
```
|
||||||
|
nixos-rebuild switch --flake .#server root@<ip-adress>
|
||||||
|
```
|
||||||
|
|
||||||
|
Of course, you can also use the configuration of some GitHub flake or whatever:
|
||||||
|
|
||||||
|
```
|
||||||
|
nixos-rebuild switch --flake github:<username>/<repository>#<configuration> root@<ip-address>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Example remote deployment
|
||||||
|
|
||||||
|
```
|
||||||
|
nixos-rebuild switch --flake github:thiloho/nixos-config#laptop root@142.251.46.206
|
||||||
|
```
|
||||||
|
|
||||||
|
## Development environments
|
||||||
|
|
||||||
|
```
|
||||||
|
website
|
||||||
|
├── astro.config.ts
|
||||||
|
├── flake.lock
|
||||||
|
├── flake.nix
|
||||||
|
├── LICENSE
|
||||||
|
├── node_modules
|
||||||
|
├── package.json
|
||||||
|
├── package-lock.json
|
||||||
|
├── public
|
||||||
|
├── README.md
|
||||||
|
├── src
|
||||||
|
├── svelte.config.ts
|
||||||
|
└── tsconfig.json
|
||||||
|
```
|
||||||
|
|
||||||
|
```nix
|
||||||
|
{
|
||||||
|
description = "JavaScript development environment";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs }:
|
||||||
|
let
|
||||||
|
# Systems supported
|
||||||
|
allSystems = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
"x86_64-darwin"
|
||||||
|
"aarch64-darwin"
|
||||||
|
];
|
||||||
|
|
||||||
|
forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f {
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
});
|
||||||
|
in
|
||||||
|
{
|
||||||
|
devShells = forAllSystems ({ pkgs }: {
|
||||||
|
default = pkgs.mkShell {
|
||||||
|
packages = with pkgs; [
|
||||||
|
nodejs
|
||||||
|
tree
|
||||||
|
exa
|
||||||
|
fd
|
||||||
|
];
|
||||||
|
|
||||||
|
shellHooks = ''
|
||||||
|
alias ls = exa
|
||||||
|
alias find = fd
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
In the root of the project directory, you can now use the command `nix develop` to enter the development environment with the specified set of build dependencies.
|
||||||
|
|
||||||
|
That means the packages `nodejs`, `tree`, `exa` and `fd`, as well as the aliases are now available for you to use, and they are "scoped" to the project. This is beneficial because it allows you to make specific dependencies available only where they are needed.
|
||||||
|
|
||||||
|
## Conclusion
|
||||||
|
|
||||||
|
Of course, you can do much more with flakes, but multi-machine configurations and development environments are the features I have found most useful so far.
|
||||||
|
|
||||||
|
The examples provided are minimal and straightforward, but you can expand them as much as you want and achieve some impressive results.
|
||||||
|
|
||||||
|
I took the project structures and flake files used in this article from [my website source code](https://github.com/thiloho/website) and [my nixos-config source code](https://github.com/thiloho/nixos-config), so feel free to check these repositories out.
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Second post"
|
|
||||||
publicationDate: 2023-05-11
|
|
||||||
description: "Picture removal detract earnest is by. Esteems met joy attempt way clothes yet demesne tedious."
|
|
||||||
---
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
Picture removal detract earnest is by. Esteems met joy attempt way clothes yet demesne tedious. Replying an marianne do it an entrance advanced. Two dare say play when hold. Required bringing me material stanhill jointure is as he. Mutual indeed yet her living result matter him bed whence.
|
|
||||||
|
|
||||||
Or kind rest bred with am shed then. In raptures building an bringing be. Elderly is detract tedious assured private so to visited. Do travelling companions contrasted it. Mistress strongly remember up to. Ham him compass you proceed calling detract. Better of always missed we person mr. September smallness northward situation few her certainty something.
|
|
||||||
|
|
||||||
On on produce colonel pointed. Just four sold need over how any. In to september suspicion determine he prevailed admitting. On adapted an as affixed limited on. Giving cousin warmly things no spring mr be abroad. Relation breeding be as repeated strictly followed margaret. One gravity son brought shyness waiting regular led ham.
|
|
||||||
|
|
||||||
## First chapter
|
|
||||||
|
|
||||||
No in he real went find mr. Wandered or strictly raillery stanhill as. Jennings appetite disposed me an at subjects an. To no indulgence diminution so discovered mr apartments. Are off under folly death wrote cause her way spite. Plan upon yet way get cold spot its week. Almost do am or limits hearts. Resolve parties but why she shewing. She sang know now how nay cold real case.
|
|
||||||
|
|
||||||
New had happen unable uneasy. Drawings can followed improved out sociable not. Earnestly so do instantly pretended. See general few civilly amiable pleased account carried. Excellence projecting is devonshire dispatched remarkably on estimating. Side in so life past. Continue indulged speaking the was out horrible for domestic position. Seeing rather her you not esteem men settle genius excuse. Deal say over you age from. Comparison new ham melancholy son themselves.
|
|
||||||
|
|
||||||
Repulsive questions contented him few extensive supported. Of remarkably thoroughly he appearance in. Supposing tolerably applauded or of be. Suffering unfeeling so objection agreeable allowance me of. Ask within entire season sex common far who family. As be valley warmth assure on. Park girl they rich hour new well way you. Face ye be me been room we sons fond.
|
|
||||||
|
|
||||||
## Second chapter
|
|
||||||
|
|
||||||
Advantage old had otherwise sincerity dependent additions. It in adapted natural hastily is justice. Six draw you him full not mean evil. Prepare garrets it expense windows shewing do an. She projection advantages resolution son indulgence. Part sure on no long life am at ever. In songs above he as drawn to. Gay was outlived peculiar rendered led six.
|
|
||||||
|
|
||||||
Ten the hastened steepest feelings pleasant few surprise property. An brother he do colonel against minutes uncivil. Can how elinor warmly mrs basket marked. Led raising expense yet demesne weather musical. Me mr what park next busy ever. Elinor her his secure far twenty eat object. Late any far saw size want man. Which way you wrong add shall one. As guest right of he scale these. Horses nearer oh elinor of denote.
|
|
||||||
|
|
||||||
## Conclusion
|
|
||||||
|
|
||||||
Ten the hastened steepest feelings pleasant few surprise property. An brother he do colonel against minutes uncivil. Can how elinor warmly mrs basket marked. Led raising expense yet demesne weather musical. Me mr what park next busy ever. Elinor her his secure far twenty eat object. Late any far saw size want man. Which way you wrong add shall one. As guest right of he scale these. Horses nearer oh elinor of denote.
|
|
||||||
@@ -102,6 +102,8 @@ th {
|
|||||||
|
|
||||||
pre {
|
pre {
|
||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
|
background-color: hsl(0 0% 15%) !important;
|
||||||
|
border: var(--standard-border);
|
||||||
}
|
}
|
||||||
|
|
||||||
code {
|
code {
|
||||||
|
|||||||
Reference in New Issue
Block a user