From 2e6f50ac1580b566628bd38b2b255db40f130465 Mon Sep 17 00:00:00 2001
From: Alex Kup <116945542+Lifailon@users.noreply.github.com>
Date: Thu, 14 Mar 2024 15:32:14 +0300
Subject: [PATCH] add HtmlAgilityPack, GitHub endpoints and Hugo
---
README.md | 280 +++++++++++++++++++++++++++++++++++++++++++++++++-----
posh.txt | 278 +++++++++++++++++++++++++++++++++++++++++++++++++----
2 files changed, 515 insertions(+), 43 deletions(-)
diff --git a/README.md b/README.md
index 5d1d956..911233e 100644
--- a/README.md
+++ b/README.md
@@ -67,6 +67,7 @@
- [JSON](#json)
- [YAML](#yaml)
- [HTML](#html)
+- [HtmlAgilityPack](#htmlagilitypack)
- [SQLite](#sqlite)
- [MySQL](#mysql)
- [MSSQL](#mssql)
@@ -95,6 +96,7 @@
- [PackageManagement](#packagemanagement)
- [NuGet](#nuget)
- [Git](#git)
+- [GitHub](#github)
- [DSC](#dsc)
- [Ansible](#ansible)
- [Win_Modules](#win_modules)
@@ -117,6 +119,7 @@
- [Pandoc](#pandoc)
- [FFmpeg](#ffmpeg)
- [ImageMagick](#imagemagick)
+- [Hugo](#hugo)
# Help
@@ -3859,6 +3862,57 @@ New-Chart Column "Top CPU Overall" -input $topCPU
ps | Select ProcessName, Id, CPU, WorkingSet, *MemorySize | New-Table "All Processes"
} > ~\Desktop\Get-Process-HtmlReport.html
```
+# HtmlAgilityPack
+
+[Source](https://www.nuget.org/packages/HtmlAgilityPack)
+```PowerShell
+# Загрузка библиотеки C#, которая позволяет парсить HTML-документы, выбирать элементы DOM и извлекать из них данные
+Add-Type -Path "C:\Users\Lifailon\Downloads\HtmlAgilityPack\Net40\HtmlAgilityPack.dll"
+$title = "новобранец"
+$url = "http://fasts-torrent.net"
+$ep = "engine/ajax/search_torrent.php?title=$title"
+$html = Invoke-RestMethod "$url/$ep"
+# Создание нового объекта HtmlDocument из HtmlAgilityPack, который будет использоваться для загрузки и обработки HTML-кода
+$HtmlDocument = New-Object HtmlAgilityPack.HtmlDocument
+# Загрузка HTML в созданный объект HtmlDocument
+$HtmlDocument.LoadHtml($html)
+$torrents = @()
+# Использование XPath для выбора всех элементов
(строк таблицы) в документе
+$HtmlDocument.DocumentNode.SelectNodes("//tr") | ForEach-Object {
+ # Для каждой строки таблицы выбираем классы, соответствующие названию раздачи, размеру и ссылке для скачивания.
+ $titleNode = $_.SelectSingleNode(".//td[@class='torrent-title']")
+ $sizeNode = $_.SelectSingleNode(".//td[@class='torrent-sp']")
+ $downloadLinkNode = $_.SelectSingleNode(".//td[@class='torrent-d-btn']/a")
+ # Проверяем, что все классы найдены
+ if ($titleNode -ne $null -and $sizeNode -ne $null -and $downloadLinkNode -ne $null) {
+ # Извлечение текста из классов
+ $title = $titleNode.InnerText.Trim()
+ $size = $sizeNode.InnerText.Trim()
+ $downloadLink = $downloadLinkNode.Attributes["href"].Value
+ $torrent = New-Object PSObject -Property @{
+ Title = $title
+ Size = $size
+ DownloadLink = "$($url)$($downloadLink)"
+ }
+ $torrents += $torrent
+ }
+}
+```
+`$torrents`
+```PowerShell
+Title Size DownloadLink
+----- ---- ------------
+Новобранец (6 сезон: 1-3 серии из 13) (2024) WEBRip | RuDub 1,55 ГБ http://fasts-torrent.net/download/449613/torrent/-6-1-3-13-2024-webrip-rudub/
+Новобранец (5 сезон: 1-22 серии из 22) (2023) WEBRip 1080p | RuDub 54,15 ГБ http://fasts-torrent.net/download/433749/torrent/-5-1-22-22-2023-webrip-1080p-rudub/
+Новобранец (5 сезон: 1-22 серии из 22) (2023) WEBRip 720p | RuDub 30,14 ГБ http://fasts-torrent.net/download/433750/torrent/-5-1-22-22-2023-webrip-720p-rudub/
+Новобранец (5 сезон: 1-22 серии из 22) (2023) WEBRip | RuDub 11,55 ГБ http://fasts-torrent.net/download/433751/torrent/-5-1-22-22-2023-webrip-rudub/
+Новобранец (4 сезон: 1-22 серии из 22) (2021) WEB-DL 720p | RG.Paravozik 21.33 Gb http://fasts-torrent.net/download/418618/torrent/-4-1-22-22-2021-web-dl-720p-rgparavozik/
+Полицейский с половиной: Новобранец (2017) WEB-DLRip 720p| Чистый звук 3.41 Gb http://fasts-torrent.net/download/254846/torrent/-2017-web-dlrip-720p-/
+Полицейский с половиной: Новобранец (2017) WEB-DLRip | Чистый звук 1.37 Gb http://fasts-torrent.net/download/254845/torrent/-2017-web-dlrip-/
+Новобранец (2 сезон: 1-20 серии из 20) (2019) WEBRip | BaibaKo 11.28 Gb http://fasts-torrent.net/download/364669/torrent/-2-1-20-20-2019-webrip-baibako/
+Новобранец (2 сезон: 1-20 серии из 20) (2019) WEBRip 1080p | Octopus 45.97 Gb http://fasts-torrent.net/download/364161/torrent/-2-1-20-20-2019-webrip-1080p-octopus/
+Новобранец (2 сезон: 1-20 серии из 20) (2019) WEB-DLRip | LostFilm 11.95 Gb http://fasts-torrent.net/download/364668/torrent/-2-1-20-20-2019-web-dlrip-lostfilm/
+```
# SQLite
```PowerShell
$path = "$home\Documents\Get-Service.db"
@@ -5946,32 +6000,63 @@ Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManage
`ssh-add C:\Users\Lifailon\.ssh\id_rsa` \
`cat ~\.ssh\id_rsa.pub | Set-Clipboard` copy to [settings keys](https://github.com/settings/keys) \
`cd $home\Documents\Git` \
-`git clone git@github.com:Lifailon/PowerShell-Commands` \
-`cd PowerShell-Commands` \
-`git grep powershell` поиск текста в файлах \
-`git pull` синхронизировать изменения из хранилища \
+`git clone git@github.com:Lifailon/lifailon.github.io` \
+`cd lifailon.github.io` \
+`git grep "ping ya.ru"` поиск текста в файлах \
+`git fetch` загрузить изменения из удаленного хранилища для обновления всех веток локального репозитория, не затрагивая текущую рабочую ветку (загружает все коммиты, ветки и т.д. которые не присутствуют в локальном репозитории) \
+`git pull` загрузить изменения из удаленного хранилища для обновления локального репозитория (выполняет git fetch для синхронизации удаленного репозитория с локальным и git merge для обновления текущей рабочей ветки) \
`git status` отобразить статус изменений по файлам \
-`git diff` отобразить изменения построчно \
-`git add .` добавить (проиндексировать) изменения во всех файлах \
-`git commit -m "added file and changed file"` сохранить изменения с комментарием \
-`git push` синхронизировать локальные изменения с репозиторием \
-`git branch dev` создать новую ветку \
-`git switch dev` переключиться на другую ветку \
-`git push --set-upstream origin dev` добавить ветку \
-`git branch -d dev` удалить ветку \
-`git diff rsa` сравнить файлы текущей ветки с файлами в указанной ветки rsa \
-`git merge dev` слияние текущей ветки (rsa/master) с указанной (dev) \
+`git diff` отобразить историю изменений построчно \
+`git diff pandoc` сравнивает изменения в текущей рабочей директории с последним коммитом в указанной ветке \
+`git add .` добавить (проиндексировать) изменения во всех файлах текущего каталога \
+`git commit -m "update powershell commands"` сохранить изменения с комментарием \
+`git push` синхронизировать локальные изменения с репозиторием на сервере \
+`git branch hugo` создать новую ветку \
+`git branch -m hugo-public` переименовать текущую ветку \
+`git branch -d hugo-public` удалить ветку \
+`git switch hugo` переключиться на другую ветку \
+`git push origin hugo` отправить изменения в указанную ветку \
+`git push --set-upstream origin hugo` отслеживать изменения в ветке (позволяет делать push без указания ветки) \
+`git merge hugo` слияние текущей ветки (pandoc) с указанной (hugo) \
`git log --oneline --all` лог коммитов \
`git log --graph` коммиты и следование веток \
+`git log --author="Lifailon"` показывает историю коммитов указанного пользователя \
+`git blame index.html` показывает, кто и когда внес изменения в каждую строку указанного файла \
`git show d01f09dead3a6a8d75dda848162831c58ca0ee13` отобразить подробный лог по номеру коммита \
-`git checkout filename` откатить изменения, если не было команды add \
-`git checkout d01f09dead3a6a8d75dda848162831c58ca0ee13` переключить локальные файлы рабочей копии на указанный коммит (изменить HEAD на указанный коммит) \
-`git reset HEAD filename` откатить изменения последнего индекса, если был add но не было commit, тем самым вернуться до последней зафиксированный версии (коммита) и потом выполнить checkout \
-`git reset --mixed HEAD filename` изменения, содержащиеся в отменяемом коммите, не должны исчезнуть, они будут сохранены в виде локальных изменений в рабочей копии \
-`git restore filename` отменить все локальные изменения в рабочей копии \
+`git restore filename` отменить все локальные изменения в рабочей копии независимо от того, были они проиндексированы или нет (если была индексация через add), возвращая его к состоянию на момент последнего коммита \
`git restore --source d01f09dead3a6a8d75dda848162831c58ca0ee13 filename` восстановить файл на указанную версию по хэшу индентификатора коммита \
-`git revert HEAD --no-edit` отменить последний коммит, без указания комментария (события записываются в git log) \
-`git reset --hard d01f09dead3a6a8d75dda848162831c58ca0ee13` удалить все коммиты до указанного (и откатиться до него)
+`git checkout filename` откатить изменения не проиндексированные для коммита, возвращая его к состоянию, каким оно было на момент последнего коммита (если не было индексации через add) \
+`git checkout d01f09dead3a6a8d75dda848162831c58ca0ee13` переключить локальные файлы рабочей копии на указанный коммит (переключает HEAD на указанный коммит) \
+`git reset HEAD filename` удалить указанный файл из индекса без удаления самих изменений в файле для последующей повторной индексации (если был add но не было commit, потом выполнить checkout) \
+`git reset --soft HEAD^` отменяет последний (^) коммит, сохраняя изменения из этого коммита в рабочем каталоге и индексе (подготовленной области), можно внести изменения в файлы и повторно их зафиксировать \
+`git reset --hard HEAD^` полностью отменяет последний коммит, удаляя все его изменения из рабочего каталога и индекса до состояния последнего коммита \
+`git reset --hard d01f09dead3a6a8d75dda848162831c58ca0ee13` откатывает HEAD к указанному коммиту и удаляет все коммиты, которые были сделаны после него (будут потеряны все незакоммиченные изменения и историю коммитов после указанного) \
+`git revert HEAD --no-edit` создает новый коммит, который отменяет последний коммит (HEAD) и новый коммит будет добавлен поверх него (события записываются в git log) \
+`git revert d01f09dead3a6a8d75dda848162831c58ca0ee13` создает новый коммит, который отменяет изменения, внесенные в указанный коммит с хешем (не изменяет историю коммитов, а создает новый коммит с изменениями отмены) \
+`git stash` сохраняет текущие изменения в стэш (временное хранилище) и очищает рабочую директорию \
+`git stash pop` применяет последние изменения из стэша к текущей ветке
+
+# GitHub
+
+`$user = "Lifailon"` \
+`$repository = "ReverseProxyNET"` \
+`Invoke-RestMethod https://api.github.com/users/$($user)` \
+`Invoke-RestMethod https://api.github.com/users/$($user)/repos` \
+`Invoke-RestMethod https://api.github.com/repos/$($user)/$($repository)/contents` \
+`Invoke-RestMethod https://api.github.com/repos/$($user)/$($repository)/contents/source/rpnet.cs` \
+`Invoke-RestMethod https://api.github.com/repos/$($user)/$($repository)/commits` \
+`$sha = $(Invoke-RestMethod https://api.github.com/repos/$($user)/$($repository)/commits).sha` \
+`Invoke-RestMethod https://api.github.com/repos/$($user)/$($repository)/commits/$($sha[-1])` \
+`Invoke-RestMethod "https://api.github.com/repos/$($user)/$($repository)/releases/latest"` \
+`$(Invoke-RestMethod "https://api.github.com/repos/$($user)/$($repository)/releases/latest").assets.name` \
+`$issues = Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/issues` \
+`$issue_number = $($issues | Where-Object title -match "PowerShell").number` \
+`Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/issues/$($issue_number)/comments` \
+`Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/pulls` \
+`Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/languages` \
+`Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/stargazers` \
+`Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/forks` \
+`Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/subscribers`
# DSC
@@ -6094,6 +6179,8 @@ inventory = /etc/ansible/hosts
# Отключить проверку ключа ssh (для подключения используя пароль)
host_key_checking = False
```
+### Hosts
+
`nano /etc/ansible/hosts`
```
[us]
@@ -6821,7 +6908,8 @@ $response.output
`"inurl:lifailon"` поиск страниц, в URL которых содержится указанное ключевое слово \
`intitle:index.of "game of thrones" mkv daterange:2010..2015` фильтрация по дате изменения, оператор позволяет задать диапазон дат в формате YYYYMMDD..YYYYMMDD \
`intitle:index.of "game of thrones" mkv after:2015` ограничить результаты поиска файлов, измененных до (before) или после (after) указанной даты \
-`intitle:index.of "game of thrones" mkv from:2010 to:2015` фильтрация по диапазону дат
+`intitle:index.of "game of thrones" mkv from:2010 to:2015` фильтрация по диапазону дат \
+`https://www.google.com/search?q=the-rookie-2018+site:imdb.com&btnI` редирект на первый url
# Google-API
@@ -7451,3 +7539,151 @@ Source: [ImageMagick](https://sourceforge.net/projects/imagemagick)
`magick PowerShell-Commands.png -brightness-contrast +20x+10 output.jpg` изменить яркость и контрастность \
`magick convert -delay 100 1.png 2.png 3.png output.gif` создать gif из изображений \
`magick convert image1.jpg image2.jpg -append output.jpg` вертикально объединенить изображения
+
+# Hogo
+
+[Source](https://github.com/gohugoio/hugo)
+
+`winget install Hugo.Hugo.Extended` \
+`scoop install hugo-extended` \
+`choco install hugo-extended`
+```PowerShell
+$user = "gohugoio"
+$repository = "hugo"
+$release_latest = Invoke-RestMethod "https://api.github.com/repos/$($user)/$($repository)/releases/latest"
+$url = $($release_latest.assets | Where-Object name -match "hugo_extended_[\d.]+_windows-amd64\.zip").browser_download_url
+Invoke-RestMethod $url -OutFile $home\Downloads\hugo.zip
+Expand-Archive -Path "$home\Downloads\hugo.zip" -DestinationPath "$home\Downloads\hugo\"
+Copy-Item -Path "$home\Downloads\hugo\hugo.exe" -Destination "C:\Windows\System32\hugo.exe"
+Remove-Item "$home\Downloads\hugo*" -Force -Recurse
+```
+[Список тем](https://themes.gohugo.io) \
+[Список команд](https://gohugo.io/commands) \
+`hugo completion powershell | Out-String | Invoke-Expression` включить поддержку автозавершения параметров \
+`hugo version`
+```PowerShell
+hugo new site lifailon.github.io.hugo # создать и инициализировать новый сайт
+cd lifailon.github.io.hugo
+git init # инициализируйте пустой репозиторий Git в текущем каталоге для инициализации темы каталог themes, добавив ее в свой проект как подмодуль Git (если не используется клонирование)
+git submodule add -f https://github.com/JingWangTW/dark-theme-editor.git themes/dark-theme-editor
+echo 'theme = "dark-theme-editor"' >> hugo.toml
+#git submodule add https://github.com/rhazdon/hugo-theme-hello-friend-ng.git themes/hello-friend-ng
+#echo 'theme = "hello-friend-ng"' >> hugo.toml
+mkdir "$home\Downloads\lifailon.github.io.hugo\content\powershell\"
+cp "$home\Downloads\README.md" "$home\Downloads\lifailon.github.io.hugo\content\powershell\index.md" # скопировать markdown документ в директорию контента
+hugo server # запустить локальный веб-сервер с проектом (http://localhost:1313)
+```
+[Dark-Theme-Editor](https://github.com/JingWangTW/dark-theme-editor)
+
+`code hugo.toml`
+```toml
+baseURL = 'https://lifailon.github.io'
+languageCode = 'en-us'
+title = 'PS-Commands'
+theme = "dark-theme-editor"
+
+[taxonomies]
+autor = "Lifailon"
+tag = "Code"
+category = "PowerShell"
+
+[params]
+[params.site]
+faviconUrl = ""
+
+[params.header]
+title = "Lifailon.GitHub.io"
+subtitle = "Большая база заметок PowerShell на русском языке."
+
+[params.header.logo]
+imgUrl = ""
+logoLink = ""
+
+[params.footer]
+copyrightStr = "GitHub"
+counter = false
+language = false
+hugoVersion = true
+theme = true
+modifiedTime = true
+dateFormat = "Jan 02 2006"
+gitHash = false
+[params.footer.socialLink]
+github = "https://github.com/Lifailon"
+
+[params.globalFrontmatter]
+author = "Lifailon"
+description = "Large base of PowerShell notes in Russian language"
+keywords = "PowerShell"
+
+[params.homePage]
+siteLongDescriptionTitle = "PowerShell Commands"
+siteLongDescription = "Структура языка, синтаксис командлетов и модулей, работа с системными и внешними утилитами, платформой .NET, различными сервисами через REST API, а так же системами AD, Exchange, Hyper-V, VMWare, базами данных и т.д."
+showRecentPostsBlock = false
+numOfRecentPosts = 5
+recentPostShowUrl = false
+
+[params.page]
+includeToc = false
+showAuthor = true
+showDate = true
+dateFormat = "Jan 02 2006"
+showTimeToRead = true
+showBreadcrumb = true
+codeBlockCopible = true
+```
+`code "content\powershell\index.md"`
+```Markdown
+---
+title: "PowerShell Commands"
+author: "Lifailon"
+date: "2024-03-14T03:00:00+03:00"
+categories: ["PowerShell"]
+tags: ["dotNET", "REST API", "Active Dirtctory", "EMShell", "PowerCLI", "Database"]
+---
+```
+[Hugo-Theme-Hello-Friend-ng](https://github.com/rhazdon/hugo-theme-hello-friend-ng)
+```toml
+baseURL = 'https://lifailon.github.io'
+title = "Shell Commands"
+languageCode = "en-us"
+theme = "hello-friend-ng"
+contentDir = "content"
+
+[taxonomies]
+autor = "Lifailon"
+tag = "PowerShell"
+category = "Code"
+
+[params.author]
+name = "Lifailon"
+
+[params.footer]
+trademark = "2022-2024"
+bottomText = ["GitHub ▶️ Lifailon"]
+
+[params.logo]
+logoMark = ">"
+logoText = "$ /home/lifailon/"
+logoHomeLink = "/"
+logoCursorColor = "#67a2c9"
+logoCursorAnimate = "2s"
+logoCursorPathname = true
+logoCursorDisabled = false
+
+#[params.portrait]
+#path = "/img/image.jpg"
+#alt = "Portrait"
+#maxWidth = "1500px"
+
+[[params.social]]
+name = "github"
+url = "https://github.com/Lifailon"
+
+[menu]
+[[menu.main]]
+identifier = "ps"
+name = "PowerShell Commands"
+url = "/powershell/"
+```
+`hugo` генерация сайта (создаст папку public с готовыми файлами сайта для развертывания)
diff --git a/posh.txt b/posh.txt
index 23b22f5..e15a90b 100644
--- a/posh.txt
+++ b/posh.txt
@@ -67,6 +67,7 @@ Habr: PowerShell и его возможности (https://habr.com/ru/articles/
# JSON
# YAML
# HTML
+# HtmlAgilityPack
# SQLite
# MySQL
# MSSQL
@@ -95,6 +96,7 @@ Habr: PowerShell и его возможности (https://habr.com/ru/articles/
# PackageManagement
# NuGet
# Git
+# GitHub
# DSC
# Ansible
# Win_Modules
@@ -117,6 +119,7 @@ Habr: PowerShell и его возможности (https://habr.com/ru/articles/
# Pandoc
# FFmpeg
# ImageMagick
+# Hugo
# Help
@@ -3859,6 +3862,57 @@ New-Chart Column "Top CPU Overall" -input $topCPU
ps | Select ProcessName, Id, CPU, WorkingSet, *MemorySize | New-Table "All Processes"
} > ~\Desktop\Get-Process-HtmlReport.html
+# HtmlAgilityPack
+
+Source (https://www.nuget.org/packages/HtmlAgilityPack)
+
+# Загрузка библиотеки C#, которая позволяет парсить HTML-документы, выбирать элементы DOM и извлекать из них данные
+Add-Type -Path "C:\Users\Lifailon\Downloads\HtmlAgilityPack\Net40\HtmlAgilityPack.dll"
+$title = "новобранец"
+$url = "http://fasts-torrent.net"
+$ep = "engine/ajax/search_torrent.php?title=$title"
+$html = Invoke-RestMethod "$url/$ep"
+# Создание нового объекта HtmlDocument из HtmlAgilityPack, который будет использоваться для загрузки и обработки HTML-кода
+$HtmlDocument = New-Object HtmlAgilityPack.HtmlDocument
+# Загрузка HTML в созданный объект HtmlDocument
+$HtmlDocument.LoadHtml($html)
+$torrents = @()
+# Использование XPath для выбора всех элементов
(строк таблицы) в документе
+$HtmlDocument.DocumentNode.SelectNodes("//tr") | ForEach-Object {
+ # Для каждой строки таблицы выбираем классы, соответствующие названию раздачи, размеру и ссылке для скачивания.
+ $titleNode = $_.SelectSingleNode(".//td[@class='torrent-title']")
+ $sizeNode = $_.SelectSingleNode(".//td[@class='torrent-sp']")
+ $downloadLinkNode = $_.SelectSingleNode(".//td[@class='torrent-d-btn']/a")
+ # Проверяем, что все классы найдены
+ if ($titleNode -ne $null -and $sizeNode -ne $null -and $downloadLinkNode -ne $null) {
+ # Извлечение текста из классов
+ $title = $titleNode.InnerText.Trim()
+ $size = $sizeNode.InnerText.Trim()
+ $downloadLink = $downloadLinkNode.Attributes["href"].Value
+ $torrent = New-Object PSObject -Property @{
+ Title = $title
+ Size = $size
+ DownloadLink = "$($url)$($downloadLink)"
+ }
+ $torrents += $torrent
+ }
+}
+
+$torrents
+
+Title Size DownloadLink
+----- ---- ------------
+Новобранец (6 сезон: 1-3 серии из 13) (2024) WEBRip | RuDub 1,55 ГБ http://fasts-torrent.net/download/449613/torrent/-6-1-3-13-2024-webrip-rudub/
+Новобранец (5 сезон: 1-22 серии из 22) (2023) WEBRip 1080p | RuDub 54,15 ГБ http://fasts-torrent.net/download/433749/torrent/-5-1-22-22-2023-webrip-1080p-rudub/
+Новобранец (5 сезон: 1-22 серии из 22) (2023) WEBRip 720p | RuDub 30,14 ГБ http://fasts-torrent.net/download/433750/torrent/-5-1-22-22-2023-webrip-720p-rudub/
+Новобранец (5 сезон: 1-22 серии из 22) (2023) WEBRip | RuDub 11,55 ГБ http://fasts-torrent.net/download/433751/torrent/-5-1-22-22-2023-webrip-rudub/
+Новобранец (4 сезон: 1-22 серии из 22) (2021) WEB-DL 720p | RG.Paravozik 21.33 Gb http://fasts-torrent.net/download/418618/torrent/-4-1-22-22-2021-web-dl-720p-rgparavozik/
+Полицейский с половиной: Новобранец (2017) WEB-DLRip 720p| Чистый звук 3.41 Gb http://fasts-torrent.net/download/254846/torrent/-2017-web-dlrip-720p-/
+Полицейский с половиной: Новобранец (2017) WEB-DLRip | Чистый звук 1.37 Gb http://fasts-torrent.net/download/254845/torrent/-2017-web-dlrip-/
+Новобранец (2 сезон: 1-20 серии из 20) (2019) WEBRip | BaibaKo 11.28 Gb http://fasts-torrent.net/download/364669/torrent/-2-1-20-20-2019-webrip-baibako/
+Новобранец (2 сезон: 1-20 серии из 20) (2019) WEBRip 1080p | Octopus 45.97 Gb http://fasts-torrent.net/download/364161/torrent/-2-1-20-20-2019-webrip-1080p-octopus/
+Новобранец (2 сезон: 1-20 серии из 20) (2019) WEB-DLRip | LostFilm 11.95 Gb http://fasts-torrent.net/download/364668/torrent/-2-1-20-20-2019-web-dlrip-lostfilm/
+
# SQLite
$path = "$home\Documents\Get-Service.db"
@@ -5946,32 +6000,63 @@ ssh-agent
ssh-add C:\Users\Lifailon\.ssh\id_rsa
cat ~\.ssh\id_rsa.pub | Set-Clipboard # copy to https://github.com/settings/keys
cd $home\Documents\Git
-git clone git@github.com:Lifailon/PowerShell-Commands
-cd PowerShell-Commands
-git grep powershell # поиск текста в файлах
-git pull # синхронизировать изменения из хранилища
+git clone git@github.com:Lifailon/lifailon.github.io
+cd lifailon.github.io
+git grep "ping ya.ru" # поиск текста в файлах
+git fetch # загрузить изменения из удаленного хранилища для обновления всех веток локального репозитория, не затрагивая текущую рабочую ветку (загружает все коммиты, ветки и т.д. которые не присутствуют в локальном репозитории)
+git pull # загрузить изменения из удаленного хранилища для обновления локального репозитория (выполняет git fetch для синхронизации удаленного репозитория с локальным и git merge для обновления текущей рабочей ветки)
git status # отобразить статус изменений по файлам
-git diff # отобразить изменения построчно
-git add . # добавить (проиндексировать) изменения во всех файлах
-git commit -m "added file and changed file" # сохранить изменения с комментарием
-git push # синхронизировать локальные изменения с репозиторием
-git branch dev # создать новую ветку
-git switch dev # переключиться на другую ветку
-git push --set-upstream origin dev # добавить ветку
-git branch -d dev # удалить ветку
-git diff rsa # сравнить файлы текущей ветки с файлами в указанной ветки rsa
-git merge dev # слияние текущей ветки (rsa/master) с указанной (dev)
+git diff # отобразить историю изменений построчно
+git diff pandoc # сравнивает изменения в текущей рабочей директории с последним коммитом в указанной ветке
+git add . # добавить (проиндексировать) изменения во всех файлах текущего каталога
+git commit -m "update powershell commands" # сохранить изменения с комментарием
+git push # синхронизировать локальные изменения с репозиторием на сервере
+git branch hugo # создать новую ветку
+git branch -m hugo-public # переименовать текущую ветку
+git branch -d hugo-public # удалить ветку
+git switch hugo # переключиться на другую ветку
+git push origin hugo # отправить изменения в указанную ветку
+git push --set-upstream origin hugo # отслеживать изменения в ветке (позволяет делать push без указания ветки)
+git merge hugo # слияние текущей ветки (pandoc) с указанной (hugo)
git log --oneline --all # лог коммитов
git log --graph # коммиты и следование веток
+git log --author="Lifailon" # показывает историю коммитов указанного пользователя
+git blame index.html # показывает, кто и когда внес изменения в каждую строку указанного файла
git show d01f09dead3a6a8d75dda848162831c58ca0ee13 # отобразить подробный лог по номеру коммита
-git checkout filename # откатить изменения, если не было команды add
-git checkout d01f09dead3a6a8d75dda848162831c58ca0ee13 # переключить локальные файлы рабочей копии на указанный коммит (изменить HEAD на указанный коммит)
-git reset HEAD filename # откатить изменения последнего индекса, если был add но не было commit, тем самым вернуться до последней зафиксированный версии (коммита) и потом выполнить checkout
-git reset --mixed HEAD filename # изменения, содержащиеся в отменяемом коммите, не должны исчезнуть, они будут сохранены в виде локальных изменений в рабочей копии
-git restore filename # отменить все локальные изменения в рабочей копии
+git restore filename # отменить все локальные изменения в рабочей копии независимо от того, были они проиндексированы или нет (если была индексация через add), возвращая его к состоянию на момент последнего коммита
git restore --source d01f09dead3a6a8d75dda848162831c58ca0ee13 filename # восстановить файл на указанную версию по хэшу индентификатора коммита
-git revert HEAD --no-edit # отменить последний коммит, без указания комментария (события записываются в git log)
-git reset --hard d01f09dead3a6a8d75dda848162831c58ca0ee13 # удалить все коммиты до указанного (и откатиться до него)
+git checkout filename # откатить изменения не проиндексированные для коммита, возвращая его к состоянию, каким оно было на момент последнего коммита (если не было индексации через add)
+git checkout d01f09dead3a6a8d75dda848162831c58ca0ee13 # переключить локальные файлы рабочей копии на указанный коммит (переключает HEAD на указанный коммит)
+git reset HEAD filename # удалить указанный файл из индекса без удаления самих изменений в файле для последующей повторной индексации (если был add но не было commit, потом выполнить checkout)
+git reset --soft HEAD^ # отменяет последний (^) коммит, сохраняя изменения из этого коммита в рабочем каталоге и индексе (подготовленной области), можно внести изменения в файлы и повторно их зафиксировать
+git reset --hard HEAD^ # полностью отменяет последний коммит, удаляя все его изменения из рабочего каталога и индекса до состояния последнего коммита
+git reset --hard d01f09dead3a6a8d75dda848162831c58ca0ee13 # откатывает HEAD к указанному коммиту и удаляет все коммиты, которые были сделаны после него (будут потеряны все незакоммиченные изменения и историю коммитов после указанного)
+git revert HEAD --no-edit # создает новый коммит, который отменяет последний коммит (HEAD) и новый коммит будет добавлен поверх него (события записываются в git log)
+git revert d01f09dead3a6a8d75dda848162831c58ca0ee13 # создает новый коммит, который отменяет изменения, внесенные в указанный коммит с хешем (не изменяет историю коммитов, а создает новый коммит с изменениями отмены)
+git stash # сохраняет текущие изменения в стэш (временное хранилище) и очищает рабочую директорию
+git stash pop # применяет последние изменения из стэша к текущей ветке
+
+# GitHub
+
+$user = "Lifailon"
+$repository = "ReverseProxyNET"
+Invoke-RestMethod https://api.github.com/users/$($user)
+Invoke-RestMethod https://api.github.com/users/$($user)/repos
+Invoke-RestMethod https://api.github.com/repos/$($user)/$($repository)/contents
+Invoke-RestMethod https://api.github.com/repos/$($user)/$($repository)/contents/source/rpnet.cs
+Invoke-RestMethod https://api.github.com/repos/$($user)/$($repository)/commits
+$sha = $(Invoke-RestMethod https://api.github.com/repos/$($user)/$($repository)/commits).sha
+Invoke-RestMethod https://api.github.com/repos/$($user)/$($repository)/commits/$($sha[-1])
+Invoke-RestMethod "https://api.github.com/repos/$($user)/$($repository)/releases/latest"
+$(Invoke-RestMethod "https://api.github.com/repos/$($user)/$($repository)/releases/latest").assets.name
+$issues = Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/issues
+$issue_number = $($issues | Where-Object title -match "PowerShell").number
+Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/issues/$($issue_number)/comments
+Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/pulls
+Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/languages
+Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/stargazers
+Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/forks
+Invoke-RestMethod https://api.github.com/repos/LibreHardwareMonitor/LibreHardwareMonitor/subscribers
# DSC
@@ -6094,6 +6179,8 @@ inventory = /etc/ansible/hosts
# Отключить проверку ключа ssh (для подключения используя пароль)
host_key_checking = False
+### Hosts
+
nano /etc/ansible/hosts
[us]
@@ -6822,6 +6909,7 @@ https://www.google.com/search?q=the+rookie+2018+filetype:torrent
intitle:index.of "game of thrones" mkv daterange:2010..2015 # фильтрация по дате изменения, оператор позволяет задать диапазон дат в формате YYYYMMDD..YYYYMMDD
intitle:index.of "game of thrones" mkv after:2015 # ограничить результаты поиска файлов, измененных до (before) или после (after) указанной даты
intitle:index.of "game of thrones" mkv from:2010 to:2015 # фильтрация по диапазону дат
+https://www.google.com/search?q=the-rookie-2018+site:imdb.com&btnI # редирект на первый url
# Google-API
@@ -7451,3 +7539,151 @@ magick PowerShell-Commands.png -fill white -pointsize 24 -gravity center -annota
magick PowerShell-Commands.png -brightness-contrast +20x+10 output.jpg # изменить яркость и контрастность
magick convert -delay 100 1.png 2.png 3.png output.gif # создать gif из изображений
magick convert image1.jpg image2.jpg -append output.jpg # вертикально объединенить изображения
+
+# Hugo
+
+Source (https://github.com/gohugoio/hugo)
+
+winget install Hugo.Hugo.Extended
+scoop install hugo-extended
+choco install hugo-extended
+
+$user = "gohugoio"
+$repository = "hugo"
+$release_latest = Invoke-RestMethod "https://api.github.com/repos/$($user)/$($repository)/releases/latest"
+$url = $($release_latest.assets | Where-Object name -match "hugo_extended_[\d.]+_windows-amd64\.zip").browser_download_url
+Invoke-RestMethod $url -OutFile $home\Downloads\hugo.zip
+Expand-Archive -Path "$home\Downloads\hugo.zip" -DestinationPath "$home\Downloads\hugo\"
+Copy-Item -Path "$home\Downloads\hugo\hugo.exe" -Destination "C:\Windows\System32\hugo.exe"
+Remove-Item "$home\Downloads\hugo*" -Force -Recurse
+
+Список тем: https://themes.gohugo.io
+Список команд: https://gohugo.io/commands
+hugo completion powershell | Out-String | Invoke-Expression # включить поддержку автозавершения параметров
+hugo version
+
+hugo new site lifailon.github.io.hugo # создать и инициализировать новый сайт
+cd lifailon.github.io.hugo
+git init # инициализируйте пустой репозиторий Git в текущем каталоге для инициализации темы каталог themes, добавив ее в свой проект как подмодуль Git (если не используется клонирование)
+git submodule add -f https://github.com/JingWangTW/dark-theme-editor.git themes/dark-theme-editor
+echo 'theme = "dark-theme-editor"' >> hugo.toml
+#git submodule add https://github.com/rhazdon/hugo-theme-hello-friend-ng.git themes/hello-friend-ng
+#echo 'theme = "hello-friend-ng"' >> hugo.toml
+mkdir "$home\Downloads\lifailon.github.io.hugo\content\powershell\"
+cp "$home\Downloads\README.md" "$home\Downloads\lifailon.github.io.hugo\content\powershell\index.md" # скопировать markdown документ в директорию контента
+hugo server # запустить локальный веб-сервер с проектом (http://localhost:1313)
+
+Dark-Theme-Editor (https://github.com/JingWangTW/dark-theme-editor)
+
+code hugo.toml
+```toml
+baseURL = 'https://lifailon.github.io'
+languageCode = 'en-us'
+title = 'PS-Commands'
+theme = "dark-theme-editor"
+
+[taxonomies]
+autor = "Lifailon"
+tag = "Code"
+category = "PowerShell"
+
+[params]
+[params.site]
+faviconUrl = ""
+
+[params.header]
+title = "Lifailon.GitHub.io"
+subtitle = "Большая база заметок PowerShell на русском языке."
+
+[params.header.logo]
+imgUrl = ""
+logoLink = ""
+
+[params.footer]
+copyrightStr = "GitHub"
+counter = false
+language = false
+hugoVersion = true
+theme = true
+modifiedTime = true
+dateFormat = "Jan 02 2006"
+gitHash = false
+[params.footer.socialLink]
+github = "https://github.com/Lifailon"
+
+[params.globalFrontmatter]
+author = "Lifailon"
+description = "Large base of PowerShell notes in Russian language"
+keywords = "PowerShell"
+
+[params.homePage]
+siteLongDescriptionTitle = "PowerShell Commands"
+siteLongDescription = "Структура языка, синтаксис командлетов и модулей, работа с системными и внешними утилитами, платформой .NET, различными сервисами через REST API, а так же системами AD, Exchange, Hyper-V, VMWare, базами данных и т.д."
+showRecentPostsBlock = false
+numOfRecentPosts = 5
+recentPostShowUrl = false
+
+[params.page]
+includeToc = false
+showAuthor = true
+showDate = true
+dateFormat = "Jan 02 2006"
+showTimeToRead = true
+showBreadcrumb = true
+codeBlockCopible = true
+```
+code "content\powershell\index.md"
+```Markdown
+---
+title: "PowerShell Commands"
+author: "Lifailon"
+date: "2024-03-14T03:00:00+03:00"
+categories: ["PowerShell"]
+tags: ["dotNET", "REST API", "Active Dirtctory", "EMShell", "PowerCLI", "Database"]
+---
+```
+Hugo-Theme-Hello-Friend-ng (https://github.com/rhazdon/hugo-theme-hello-friend-ng)
+```toml
+baseURL = 'https://lifailon.github.io'
+title = "Shell Commands"
+languageCode = "en-us"
+theme = "hello-friend-ng"
+contentDir = "content"
+
+[taxonomies]
+autor = "Lifailon"
+tag = "PowerShell"
+category = "Code"
+
+[params.author]
+name = "Lifailon"
+
+[params.footer]
+trademark = "2022-2024"
+bottomText = ["GitHub ▶️ Lifailon"]
+
+[params.logo]
+logoMark = ">"
+logoText = "$ /home/lifailon/"
+logoHomeLink = "/"
+logoCursorColor = "#67a2c9"
+logoCursorAnimate = "2s"
+logoCursorPathname = true
+logoCursorDisabled = false
+
+#[params.portrait]
+#path = "/img/image.jpg"
+#alt = "Portrait"
+#maxWidth = "1500px"
+
+[[params.social]]
+name = "github"
+url = "https://github.com/Lifailon"
+
+[menu]
+[[menu.main]]
+identifier = "ps"
+name = "PowerShell Commands"
+url = "/powershell/"
+```
+hugo # генерация сайта (создаст папку public с готовыми файлами сайта для развертывания)