### Description
#### Backend
- String and interger can be pass as `id` to `GET` `/post/{id}`
- For the posts existed, the default `semantic_id` for them will be `_id`. (e.g. `_1`, `_2`)
- Semantic ID should follow the rules:
1. It shouldn't be an integer
1. It should match the pattern: `^[0-9a-zA-Z_\-]+$`
<br>
|Semantic ID|Result|Note|
|-|-|-|
|12|X|against with `i`|
|-3|X|against with `i`|
|3.14|X|against with `ii`|
|hello world|X|against with `ii`|
|*EMPTY*|X|against with `ii`|
|12_34-56|O||
#### Frontend
- The href of post preview card becomes the semantic ID.
### Package Changes
```toml
regex = "1.12.1"
```
### Screenshots

### Reference
Resolves#125.
### Checklist
- [x] A milestone is set
- [x] The related issuse has been linked to this branch
Reviewed-on: #134
Co-authored-by: SquidSpirit <squid@squidspirit.com>
Co-committed-by: SquidSpirit <squid@squidspirit.com>