From ff73c13befbf5112c637bcb1835300751ce0bd9f Mon Sep 17 00:00:00 2001 From: Daniel Joos Date: Thu, 31 Jan 2019 08:58:26 +0100 Subject: [PATCH] Adapts README - Show build information on Github - Show TeamViewer logo in HTML version --- Build/New-Package.ps1 | 13 +++++++++--- Build/README.style.html | 6 ++++++ Build/Select-StringExcludeBlock.ps1 | 31 +++++++++++++++++++++++++++++ README.md | 6 +++++- 4 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 Build/Select-StringExcludeBlock.ps1 diff --git a/Build/New-Package.ps1 b/Build/New-Package.ps1 index b7e5794..3e2cf28 100644 --- a/Build/New-Package.ps1 +++ b/Build/New-Package.ps1 @@ -18,17 +18,24 @@ Push-Location -Path $Path $temporaryDirectory = (Join-Path ([System.IO.Path]::GetTempPath()) ([string][System.Guid]::NewGuid())) (New-Item -ItemType Directory -Path $temporaryDirectory) | Out-Null +. .\Build\Select-StringExcludeBlock.ps1 + +# Markdown Readme File +$markdownReadmeFile = (Join-Path $temporaryDirectory README.md) +Get-Content ./README.md | ` + Select-StringExcludeBlock -Begin '[+github]' -End '[-github]' | ` + Set-Content $markdownReadmeFile + # HTML Readme File ConvertTo-Html ` - -Title (Get-Content ./README.md -First 1).Trim('# ') ` + -Title (Get-Content $markdownReadmeFile -First 1).Trim('# ') ` -PreContent (Get-Content ./Build/README.style.html | Out-String) ` - -Body (Get-Content ./README.md | Out-String | ConvertFrom-Markdown) | ` + -Body (Get-Content $markdownReadmeFile | Out-String | ConvertFrom-Markdown) | ` Set-Content (Join-Path $temporaryDirectory README.html) # Prepare package files Copy-Item ./TeamViewerADConnector -Destination $temporaryDirectory -Recurse Copy-Item ./LICENSE.txt -Destination $temporaryDirectory -Copy-Item ./README.md -Destination $temporaryDirectory Copy-Item ./*.bat -Destination $temporaryDirectory # Set script version diff --git a/Build/README.style.html b/Build/README.style.html index 98bc185..6363420 100644 --- a/Build/README.style.html +++ b/Build/README.style.html @@ -22,4 +22,10 @@ font-family: Monaco, Menlo, Consolas, "Courier New", monospace; color: #0045BE; } + + h1:first-child::before { + display: block; + margin-bottom: 10px; + content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjA0IiBoZWlnaHQ9IjQ5LjQ0MiI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iNTEyLjg0IiB5MT0iNjU1LjU0IiB4Mj0iNTEyLjg0IiB5Mj0iMzY4LjM4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMDk2ZmQyIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMGI3ZmRkIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImMiIHgxPSI1MTIuMSIgeTE9IjEwMjQuMDgiIHgyPSI1MTIuMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzA1NjRjOCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzBlOGVlOSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMTQxMS44MiIgeTE9IjcyOC45IiB4Mj0iMTQxMS44MiIgeTI9IjI5My4wOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzA5NmZkMiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzBlOGVlOSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJlIiB4MT0iMTY3Ny41IiB5MT0iNzQwLjA1IiB4Mj0iMTY3Ny41IiB5Mj0iNDExLjA0IiB4bGluazpocmVmPSIjYSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iZiIgeDE9IjIwMDQuOTUiIHkxPSI3MzUuOTQiIHgyPSIyMDA0Ljk1IiB5Mj0iNDEyLjIxIiB4bGluazpocmVmPSIjYSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iZyIgeDE9IjI0MzguOSIgeTE9IjcyOC45IiB4Mj0iMjQzOC45IiB5Mj0iNDE0LjU2IiB4bGluazpocmVmPSIjYSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iaCIgeDE9IjI4OTMuNzMiIHkxPSI3MjguOSIgeDI9IjI4OTMuNzMiIHkyPSIyOTMuNjgiIHhsaW5rOmhyZWY9IiNhIi8+PGxpbmVhckdyYWRpZW50IGlkPSJpIiB4MT0iMzEzOC4xNiIgeTE9IjcyOC45IiB4Mj0iMzEzOC4xNiIgeTI9IjI5My42OCIgeGxpbms6aHJlZj0iI2EiLz48bGluZWFyR3JhZGllbnQgaWQ9ImoiIHgxPSIzMzYwLjkzIiB5MT0iNzM3LjcxIiB4Mj0iMzM2MC45MyIgeTI9IjQxMy45NyIgeGxpbms6aHJlZj0iI2EiLz48bGluZWFyR3JhZGllbnQgaWQ9ImsiIHgxPSIzNzU3Ljk0IiB5MT0iNzI4LjkiIHgyPSIzNzU3Ljk0IiB5Mj0iNDIyLjc4IiB4bGluazpocmVmPSIjYSIvPjxsaW5lYXJHcmFkaWVudCBpZD0ibCIgeDE9IjQxNTIuNTYiIHkxPSI3MzcuNzEiIHgyPSI0MTUyLjU2IiB5Mj0iNDEzLjk3IiB4bGluazpocmVmPSIjYSIvPjxsaW5lYXJHcmFkaWVudCBpZD0ibSIgeDE9IjQ0MzAuODMiIHkxPSI3MjguOSIgeDI9IjQ0MzAuODMiIHkyPSI0MTMuNzMiIHhsaW5rOmhyZWY9IiNhIi8+PGxpbmVhckdyYWRpZW50IHhsaW5rOmhyZWY9IiNhIiBpZD0iZCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNDExLjgyIiB5MT0iNzI4LjkiIHgyPSIxNDExLjgyIiB5Mj0iMjkzLjA5Ii8+PC9kZWZzPjxnIHN0cm9rZS13aWR0aD0iMjIuNTM2Ij48cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIHNjYWxlKC4wNDQzNykiIGQ9Ik0zNzMuODQgNTYzLjQzbDM3LjYzIDkyLjExLTI4NC4xNS0xNDMuNTggMjg0LjQ1LTE0My41OC0zNy45MyA5Mi4xMWgyNzkuMDNsLTM3LjkzLTkyLjExIDI4My40MSAxNDMuNTgtMjgzLjQxIDE0My41OCAzNy45My05Mi4xMXoiIGZpbGw9InVybCgjYikiLz48cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIHNjYWxlKC4wNDQzNykiIGQ9Ik05NjQuMiAxMDI0LjA4SDYwYTYwLjE4IDYwLjE4IDAgMCAxLTYwLTYwVjYwQTYwLjE4IDYwLjE4IDAgMCAxIDYwIDBoOTA0LjJhNjAuMTggNjAuMTggMCAwIDEgNjAgNjB2OTA0LjA4YTYwLjE4IDYwLjE4IDAgMCAxLTYwIDYwek01MDguMjQgOTBDMjc3LjU5IDkyIDkxLjY2IDI4MS4yMyA5MCA1MTJjLTEuNjkgMjM1IDE4Ni45MiA0MjEuNzkgNDIyIDQyMiAyMzEuMDUuMTIgNDE4LTE5MiA0MjItNDIyIDQuMTUtMjM3Ljc1LTE4OC00MjQuMDktNDI1Ljc2LTQyMnoiIGZpbGw9InVybCgjYykiLz48cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIHNjYWxlKC4wNDQzNykiIGQ9Ik0xMzYwLjI4IDcyOC45VjM3NS4wNmgtMTI2LjE3di04MS45N2gzNTUuNDJ2ODEuOTdoLTEyNi4xNlY3MjguOXoiIGZpbGw9InVybCgjZCkiLz48cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIHNjYWxlKC4wNDQzNykiIGQ9Ik0xNjc4LjY4IDc0MC4wNWMtMjYuNjIgMC03Ni4xMy01LTEwOC42MS0zOC43NC0yNi4zOS0yNy41My0zOS43Ni02Ny43Ny0zOS43Ni0xMTkuNjEgMC02Ni42OSAyMS41Ny0xMTUuNDcgNjQuMS0xNDUgMjUuMjMtMTYuODEgNTUuMTUtMjUuNyA4Ni41OS0yNS43IDMzIDAgOTMgOS43MiAxMjQuOSA3NC44MyAyMS40MiA0My40NyAxOS4xNSA5MS4wNSAxOC4xOCAxMTEuMzdsLS4yNiA1LjVoLTE5OC41NmMuNzcgMzAuNjMgOC41NCA2Ny42NyA1NC41OSA2Ny42NyAyNS4xNSAwIDM5Ljc4LTExLjY2IDQ2LTM2LjdsMS4wOS00LjM3aDkwbC0uNTIgNi4yNmMtMSAxMi4wOS0zLjM3IDQwLjM5LTI5Ljc0IDY4LjA1LTIxLjkgMjMuMTctNjEuMjkgMzYuNDQtMTA4IDM2LjQ0em00NS4xNi0yMDMuNDRjLTEuMTItMjYuMjItMTAuNDUtNTQuNzYtNDUuNzQtNTQuNzYtMzguMTMgMC00Ny4zNyAzNC41NS00OS41IDU0Ljc2aDk1LjI1eiIgZmlsbD0idXJsKCNlKSIvPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikgc2NhbGUoLjA0NDM3KSIgZD0iTTE5NjkuMDYgNzM1Ljk0Yy00Ni4yIDAtNjYuNTktMTQuMy03Ny45MS0yNS4wNi0xNy41OS0xNy41OS0yNy42Mi00Mi44MS0yNy42Mi02OS4zMiAwLTI0Ljk0IDguNTktNzAuNzcgNjYuMTQtOTcuMzcgMzUuMTYtMTUuODggODQuMjgtMTYuOSAxMTQtMTctLjEzLTE1LjI4LS45LTIzLTMuNzktMzEuNzItNi45Mi0xOS43LTI4LjkxLTIwLjctMzMuMjUtMjAuNy0xMS42MyAwLTIyLjEzIDUuMi0yOC4xIDEzLjkyLTUuNDQgOC40Mi01LjQ0IDE2LjU4LTUuNDQgMjMuMTV2NS43N2gtOTYuODZsLjIyLTZjLjU1LTE0Ljk0IDEuODUtNDkuOTMgMzUuODYtNzQuMzEgMjMuMjUtMTYuNjggNTQuNTktMjUuMTQgOTMuMTUtMjUuMTQgMjguMTYgMCA3OS44OSA1LjIxIDExMCA0MC4xNSAyMS45NCAyNi40NSAyMS45NCA2NC4xNSAyMS45NCA3Ni41NEwyMTM4IDY0OGMwIDI4IDIuMjYgNTIuMjIgNi45MSA3My45M2wxLjUgN2gtOTAuN2wtLjgxLTQuOTNhMjMwLjI2IDIzMC4yNiAwIDAgMS0yLjY3LTI1Yy0zMi4zOCAzNi45NS02OC42NSAzNi45NC04My4xNyAzNi45NHptNjMuMTYtMTQ3LjQ1Yy0zNS4xMiAwLTcyLjY0IDExLjMyLTcyLjY0IDQzLjA5IDAgMTcuNTcgMTEuNDEgMzYuNDggMzYuNDcgMzYuNDhhNDMuNDggNDMuNDggMCAwIDAgMzIuNjItMTVjMTMuMTItMTYuMTYgMTQuODMtMzYuMTcgMTUtNjQuMTctMy45MS0uMjgtNy43NC0uMzktMTEuNDUtLjM5eiIgZmlsbD0idXJsKCNmKSIvPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikgc2NhbGUoLjA0NDM3KSIgZD0iTTI1ODEuODUgNzI4LjlWNTQ4Ljg0YzAtMzYuNjgtNy41LTYxLjEyLTQ0LjEtNjEuMTItNDQuMTIgMC00Ny42MiAzNy42OC00Ny42MiA4Ni45NFY3MjguOWgtOTlWNTQ3LjA4YzAtMjguNzItMy4zMi01OS4zNi00Mi45My01OS4zNi00OC44IDAtNDguOCA0MS4yOC00OC44IDYxLjEyVjcyOC45aC05OVY0ODIuNTNjMC0xNi40OC0uOTItMzQtMi45MS01NS4yMWwtLjU5LTYuMzFoOTUuNmwyLjIyIDI4LjhjMTMuNi0xNS4xNyAzOS4yNi0zNS4yNiA4Ni45MS0zNS4yNiAzMS4yNSAwIDcxLjczIDguODMgOTMuNzUgNDkuMTFDMjQ5NiA0MzEgMjUyNyA0MTUuMTUgMjU3MCA0MTUuMTVjNjEuMDUgMCA4Ny4wNyAzNS4zMyA5NS40MyA1MC41MiAxNS41NiAyNS4zNSAxNS40NiA2MCAxNS4zOSA4NS4yMnYxNzhoLTk5eiIgZmlsbD0idXJsKCNnKSIvPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikgc2NhbGUoLjA0NDM3KSIgZD0iTTI3MDkuNzQgMjkzLjY4aDU0LjAxbDEzMi42MSAzNzUuNTMgMTMwLjg5LTM3NS41M2g1MC40OEwyOTIwLjQgNzI4LjloLTUxLjUyeiIgZmlsbD0idXJsKCNoKSIvPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikgc2NhbGUoLjA0NDM3KSIgZD0iTTMxMTQuNzggNzI4LjlWNDIyLjc4aDQ2Ljc2VjcyOC45em0tMi45NC0zNzkuNjd2LTU1LjU1aDUyLjYzdjU1LjU2aC01Mi42M3oiIGZpbGw9InVybCgjaSkiLz48cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIHNjYWxlKC4wNDQzNykiIGQ9Ik0zMzU3LjExIDczNy43MWMtOTMuMTcgMC0xMzQuODctODEuMy0xMzQuODctMTYxLjg3IDAtNzggNDIuOTQtMTYxLjg2IDEzNy4yMi0xNjEuODYgOTAuMzggMCAxNDAuMTUgNjAuNCAxNDAuMTUgMTcwLjA4djUuNzdoLTIyNy40N2MxLjgyIDM1LjQ2IDE1Ljc1IDEwNC4wNSA5Ni4xMiAxMDQuMDUgMzguMzQgMCA3MS0yNy4wOSA3OS40NS02NS44N2wxLTQuNTVoNDkuMDhsLTEuODcgNy4yMmMtMTguNjEgNzIuMDItNjQuMDIgMTA3LjAzLTEzOC44MSAxMDcuMDN6TTM0NDkuMzcgNTQ2Yy02LjA4LTU2LjE2LTM4LjM4LTg4LjIxLTg5LjMzLTg4LjIxLTU1LjA4IDAtODAuNTIgNDYuMTYtODYuMjUgODguMjF6IiBmaWxsPSJ1cmwoI2opIi8+PHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAyKSBzY2FsZSguMDQ0MzcpIiBkPSJNMzc4NS40NyA0MjIuNzhsODMuMyAyMzUuODIgODEuNjEtMjM1LjgyaDUxLjE2TDM4ODcuNTEgNzI4LjloLTQxLjU0bC04Ni45My0yNDQuNDEtODguNjIgMjQ0LjQxaC00My44OGwtMTEyLjIxLTMwNi4xMmg1MS4wOGw4NC41NyAyMzguNDUgODUuNjgtMjM4LjQ1eiIgZmlsbD0idXJsKCNrKSIvPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikgc2NhbGUoLjA0NDM3KSIgZD0iTTQxNDguNzQgNzM3LjcxYy05My4xNyAwLTEzNC44Ny04MS4zLTEzNC44Ny0xNjEuODcgMC03OCA0Mi45NC0xNjEuODYgMTM3LjIyLTE2MS44NiA5MC4zOCAwIDE0MC4xNSA2MC40IDE0MC4xNSAxNzAuMDh2NS43N2gtMjI3LjQ3YzEuODIgMzUuNDYgMTUuNzUgMTA0LjA1IDk2LjEyIDEwNC4wNSAzOC4zNCAwIDcxLTI3LjA5IDc5LjQ1LTY1Ljg3bDEtNC41NWg0OS4wOGwtMS44NyA3LjIyYy0xOC42MSA3Mi4wMi02NC4wMiAxMDcuMDMtMTM4LjgxIDEwNy4wM3pNNDI0MSA1NDZjLTYuMDgtNTYuMTYtMzguMzgtODguMjEtODkuMzMtODguMjEtNTUuMDggMC04MC41MiA0Ni4xNi04Ni4yNSA4OC4yMXoiIGZpbGw9InVybCgjbCkiLz48cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIHNjYWxlKC4wNDQzNykiIGQ9Ik00MzU3Ljc0IDcyOC45di0yMzRjLjQ0LTE3LjIxLS44MS0zNS4wNy0xLjkyLTUwLjgzLS4zNy01LjIyLS43Mi0xMC4yOC0xLTE1LjE0bC0uMzYtNi4xMWg0OC4wNWwxLjE1IDI4LjUyYzE0LjI0LTIyIDM3LjQ0LTM2LjMyIDYyLjMxLTM3LjMyIDMuNDgtLjE4IDctLjI1IDEwLjU1LS4yNSA4LjQgMCAxNi44Ny40MiAyNS4wNi44M2w1LjQ5LjI3LjEyIDUuNXY0MC4zMWwtNi4yNS0uNTJjLTIuODktLjI0LTUuODctLjY2LTguODgtMS4xYTg5LjQ2IDg5LjQ2IDAgMCAwLTEyLjM2LTEuMjNjLTQ2LjYzIDAtNzQgMzIuMTYtNzUuMjEgODguMjNWNzI4LjloLTQ2Ljc2eiIgZmlsbD0idXJsKCNtKSIvPjwvZz48L3N2Zz4="); + } \ No newline at end of file diff --git a/Build/Select-StringExcludeBlock.ps1 b/Build/Select-StringExcludeBlock.ps1 new file mode 100644 index 0000000..114cf7b --- /dev/null +++ b/Build/Select-StringExcludeBlock.ps1 @@ -0,0 +1,31 @@ + +function Select-StringExcludeBlock { + Param( + [Parameter(Mandatory = $true)] + [string] $Begin, + + [Parameter(Mandatory = $true)] + [string] $End, + + [Parameter(Mandatory = $true, ValueFromPipeline = $true)] + $pipelineInput + ) + Begin { + $include = $true + $patternBegin = [Regex]::Escape($Begin) + $patternEnd = [Regex]::Escape($End) + } + Process { + $pipelineInput | ForEach-Object { + if ($_ -match $patternBegin) { + $include = $false + } + if ($include) { + Write-Output $_ + } + if ($_ -match $patternEnd) { + $include = $true + } + } + } +} diff --git a/README.md b/README.md index b0b3007..0a9af03 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,12 @@ A simple PowerShell integration script to synchronize users of an Active Directory (AD) group to a TeamViewer company via REST based API. + +[![Build Status](https://travis-ci.org/TeamViewer/AD-Connector.svg?branch=master)](https://travis-ci.org/TeamViewer/AD-Connector) + + Further information can be found here: -https://community.teamviewer.com/t5/Knowledge-Base/Active-Directory-Connector-AD-Connector/ta-p/31158 +[TeamViewer Knowledge Base Article "Active Directory Connector"](https://community.teamviewer.com/t5/Knowledge-Base/Active-Directory-Connector-AD-Connector/ta-p/31158) You can download the AD Connector package from our website: https://www.teamviewer.com/en/integrations/active-directory/