Add discussion link
All checks were successful
Build release image / build (push) Successful in 1m26s
All checks were successful
Build release image / build (push) Successful in 1m26s
This commit is contained in:
@@ -116,4 +116,6 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: D5
|
number: D5
|
||||||
mode: INPUT
|
mode: INPUT
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -49,4 +49,6 @@ Now we need to create a handler of the Aqara button in `automations.yaml`:
|
|||||||
- data:
|
- data:
|
||||||
message: "Someone near your front door"
|
message: "Someone near your front door"
|
||||||
service: notify.push
|
service: notify.push
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -134,4 +134,6 @@ Now we can rely on that group’s state to check if there is nobody home. I’ve
|
|||||||
service: notify.push
|
service: notify.push
|
||||||
```
|
```
|
||||||
|
|
||||||
That is all for now. Thanks for reading.
|
That is all for now. Thanks for reading.
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -208,4 +208,6 @@ Also, this automation should be able to run in parallel to make it possible to h
|
|||||||
```yaml
|
```yaml
|
||||||
mode: parallel
|
mode: parallel
|
||||||
max: 10
|
max: 10
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -40,4 +40,6 @@ binary_sensor:
|
|||||||
friendly_name: "Bed occupancy"
|
friendly_name: "Bed occupancy"
|
||||||
device_class: occupancy
|
device_class: occupancy
|
||||||
value_template: "{{is_state('binary_sensor.bed_occupancy_door_side', 'off') or is_state('binary_sensor.bed_occupancy_window_side', 'off')}}"
|
value_template: "{{is_state('binary_sensor.bed_occupancy_door_side', 'off') or is_state('binary_sensor.bed_occupancy_window_side', 'off')}}"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -42,4 +42,6 @@ action:
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
Here we are checking for the `engine is off` text in incoming SMS to perform some action. For example, to set the value of some `input_boolean`.
|
Here we are checking for the `engine is off` text in incoming SMS to perform some action. For example, to set the value of some `input_boolean`.
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -105,3 +105,5 @@ switch:
|
|||||||
```
|
```
|
||||||
|
|
||||||
That’s it for today. Thanks for reading.
|
That’s it for today. Thanks for reading.
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -237,4 +237,6 @@ Before placing our power supply inside the TV we need to make sure it is isolate
|
|||||||
|
|
||||||
So the overall picture is looking like this:
|
So the overall picture is looking like this:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -85,4 +85,6 @@ Compile, flash, open logs and start firing into our device with your IR remote.
|
|||||||
[17:34:51][D][remote.samsung:055]: Received Samsung: data=0xE0E020DF
|
[17:34:51][D][remote.samsung:055]: Received Samsung: data=0xE0E020DF
|
||||||
```
|
```
|
||||||
|
|
||||||
You can now use this data with the ESPHome [Remote Transmitter](https://esphome.io/components/remote_transmitter.html) component to build, for example, something like [this](/2021-01-13-building-wifi-ir-remote-control-for-any-tv-with-esp8266-wemos-d1-mini-and-esphome/index.md).
|
You can now use this data with the ESPHome [Remote Transmitter](https://esphome.io/components/remote_transmitter.html) component to build, for example, something like [this](/2021-01-13-building-wifi-ir-remote-control-for-any-tv-with-esp8266-wemos-d1-mini-and-esphome/index.md).
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -120,4 +120,6 @@ Decreasing the volume action is the same, but with negative `target`:
|
|||||||
service: esphome.amplifier_set_volume
|
service: esphome.amplifier_set_volume
|
||||||
data:
|
data:
|
||||||
target: -50
|
target: -50
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -119,4 +119,6 @@ You'll get an email notification on the address added here when there will be ti
|
|||||||
|
|
||||||
After certificate generation, we should open Settings on the same Certificates tab, find our domain service, and choose the newly generated certificate for it.
|
After certificate generation, we should open Settings on the same Certificates tab, find our domain service, and choose the newly generated certificate for it.
|
||||||
|
|
||||||
That's it!
|
That's it!
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -43,4 +43,6 @@ In your Home Assistant go to _Settings -> Devices & services_ and click the _"Ad
|
|||||||
|
|
||||||
In the configuration window that appeared you need to set your NAS's local IP address as a _Host_ and leave the _Port_ number unchanged.
|
In the configuration window that appeared you need to set your NAS's local IP address as a _Host_ and leave the _Port_ number unchanged.
|
||||||
|
|
||||||
Hit _Submit_ and you are done.
|
Hit _Submit_ and you are done.
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -54,4 +54,6 @@ The authorization header should have the next format: `PVEAPIToken=<proxmox user
|
|||||||
|
|
||||||
You can use `shutdown` or `reboot` as a `command`.
|
You can use `shutdown` or `reboot` as a `command`.
|
||||||
|
|
||||||
After restarting Home Assistant you will have a new service available. In our example, it would be `rest_command.spacedock_one_shutdown`. Calling it will do the trick.
|
After restarting Home Assistant you will have a new service available. In our example, it would be `rest_command.spacedock_one_shutdown`. Calling it will do the trick.
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -105,4 +105,6 @@ And up it back with a system service, also enabling it:
|
|||||||
sudo systemctl start wg-quick@wg0 && sudo systemctl enable wg-quick@wg0
|
sudo systemctl start wg-quick@wg0 && sudo systemctl enable wg-quick@wg0
|
||||||
```
|
```
|
||||||
|
|
||||||
Further interface control should be performed through `systemctl` as well like `systemctrl stop`, `systemctl restart` or `systemctl status`.
|
Further interface control should be performed through `systemctl` as well like `systemctrl stop`, `systemctl restart` or `systemctl status`.
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -98,4 +98,6 @@ Cron job line to add:
|
|||||||
|
|
||||||
```
|
```
|
||||||
@reboot sleep 30s && /usr/sbin/etherwake -i vmbr0 <mac_address>
|
@reboot sleep 30s && /usr/sbin/etherwake -i vmbr0 <mac_address>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<BlogDiscussions/>
|
@@ -184,4 +184,4 @@ Have no idea why everyone wants to write a conclusion for each post nowadays. It
|
|||||||
|
|
||||||
Have a nice tinkering.
|
Have a nice tinkering.
|
||||||
|
|
||||||
import BrowserWindow from '@site/src/components/BlogDiscussions';
|
<BlogDiscussions/>
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "yevi-org",
|
"name": "yevi-org",
|
||||||
"version": "0.2.2",
|
"version": "0.3.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"docusaurus": "docusaurus",
|
"docusaurus": "docusaurus",
|
||||||
|
@@ -1,112 +1,16 @@
|
|||||||
import styles from './styles.module.css';
|
import styles from './styles.module.css';
|
||||||
|
|
||||||
const FeatureList = [
|
|
||||||
{
|
|
||||||
title: 'Blog',
|
|
||||||
link: 'blog',
|
|
||||||
Svg: require('@site/static/icons/blog.svg').default,
|
|
||||||
description: (
|
|
||||||
<>
|
|
||||||
Some notes, interesting things and projects.
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Git',
|
|
||||||
link: 'https://git.nicelycomposed.codes/yehor',
|
|
||||||
Svg: require('@site/static/icons/gitea.svg').default,
|
|
||||||
description: (
|
|
||||||
<>
|
|
||||||
My code
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Mastodon',
|
|
||||||
link: 'https://techhub.social/@estevez',
|
|
||||||
Svg: require('@site/static/icons/mastodon.svg').default,
|
|
||||||
description: (
|
|
||||||
<>
|
|
||||||
My micro blog at techhub.social
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Matrix',
|
|
||||||
link: 'https://matrix.to/#/@yehor:vi.place',
|
|
||||||
Svg: require('@site/static/icons/matrix.svg').default,
|
|
||||||
description: (
|
|
||||||
<>
|
|
||||||
If you want to chat (with end-to-end encryption)
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Pixelfed',
|
|
||||||
link: 'https://pixelfed.social/estevez',
|
|
||||||
Svg: require('@site/static/icons/pixelfed.svg').default,
|
|
||||||
description: (
|
|
||||||
<>
|
|
||||||
For some photography
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'GitHub',
|
|
||||||
link: 'https://github.com/estevez-dev',
|
|
||||||
Svg: require('@site/static/icons/github.svg').default,
|
|
||||||
description: (
|
|
||||||
<>
|
|
||||||
Some forks and contributions
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Untappd',
|
|
||||||
link: 'https://untappd.com/user/estevezz',
|
|
||||||
Svg: require('@site/static/icons/untappd.svg').default,
|
|
||||||
description: (
|
|
||||||
<>
|
|
||||||
Budmo!
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Linkedin',
|
|
||||||
link: 'https://www.linkedin.com/in/yehor-vialov-2a362158/',
|
|
||||||
Svg: require('@site/static/icons/linkedin.svg').default,
|
|
||||||
description: (
|
|
||||||
<>
|
|
||||||
They say I need this to find any work
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
function Feature({ Svg, title, link, description }) {
|
|
||||||
return (
|
|
||||||
|
|
||||||
<div className={clsx('col col--3', styles.featureBlock)}>
|
|
||||||
<div className="text--center">
|
|
||||||
<a href={link} target='_blank' className={styles.featureLink}>
|
|
||||||
<Svg fill="currentColor" className={styles.featureSvg} role="img" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<a href={link} className={styles.featureLink}>
|
|
||||||
<div className="text--center padding-horiz--md">
|
|
||||||
<Heading as="h3">{title}</Heading>
|
|
||||||
<p>{description}</p>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function BlogDiscussions() {
|
export default function BlogDiscussions() {
|
||||||
|
const Svg = require('@site/static/icons/matrix.svg').default;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<section className={styles.blogDiscussions}>
|
<section className={styles.blogDiscussions}>
|
||||||
<a href="https://matrix.to/#/%23yevi-org-pub:vi.place" target='_blank'>Join discussion at Matrix</a>
|
|
||||||
|
<a className={styles.blogDiscussions_container} href="https://matrix.to/#/%23yevi-org-pub:vi.place" target='_blank'>
|
||||||
|
<Svg fill="currentColor" className={styles.icon} role="img" />
|
||||||
|
<span className={styles.linkText}>Join discussion at Matrix</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,27 @@
|
|||||||
.blogDiscussions {
|
.blogDiscussions {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 1rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blogDiscussions_container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 2rem 0;
|
}
|
||||||
width: 100%;
|
|
||||||
|
.linkText {
|
||||||
|
width: 12rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
width: 3rem;
|
||||||
|
height: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon path {
|
||||||
|
fill: var(--ifm-link-color) !important;
|
||||||
}
|
}
|
13
src/theme/MDXComponents.js
Normal file
13
src/theme/MDXComponents.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import React from 'react';
|
||||||
|
// Import the original mapper
|
||||||
|
import MDXComponents from '@theme-original/MDXComponents';
|
||||||
|
//Import custom component
|
||||||
|
import BlogDiscussions from '@site/src/components/BlogDiscussions';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
// Re-use the default mapping
|
||||||
|
...MDXComponents,
|
||||||
|
// Map the "<BlogDiscussions>" tag to our BlogDiscussions component
|
||||||
|
// `BlogDiscussions` will receive all props that were passed to `<BlogDiscussions>` in MDX
|
||||||
|
BlogDiscussions,
|
||||||
|
};
|
Reference in New Issue
Block a user