commit 0e86ab00e01d7b2bbfccdd1c4a81b3fee32e0c57 Author: aRkker Date: Fri May 6 12:59:50 2022 +0300 first diff --git a/.github/workflows/downloadcounts.yaml b/.github/workflows/downloadcounts.yaml new file mode 100644 index 0000000..9947f9f --- /dev/null +++ b/.github/workflows/downloadcounts.yaml @@ -0,0 +1,37 @@ +name: Update download counts + +on: + schedule: + # * is a special character in YAML so you have to quote this string + - cron: '0 1 * * *' + workflow_dispatch: + +jobs: + update-counts: + if: github.repository == 'goatcorp/DalamudPlugins' + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Extract branch name + shell: bash + run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + id: extract_branch + - uses: actions/checkout@v1 + - name: Update download counts + run: | + wget -O downloadcounts.json https://us-central1-xl-functions.cloudfunctions.net/get-dlcount + - name: Commit files + continue-on-error: true + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add . + git commit -m "Update download counts" + - name: Push changes + continue-on-error: true + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: ${{ steps.extract_branch.outputs.branch }} + diff --git a/.github/workflows/regenerate.yaml b/.github/workflows/regenerate.yaml new file mode 100644 index 0000000..1c1d987 --- /dev/null +++ b/.github/workflows/regenerate.yaml @@ -0,0 +1,38 @@ +name: Regenerate PluginMaster +on: + push: + branches: + - api4 + page_build: + workflow_run: + workflows: ["Update download counts"] + types: + - completed + workflow_dispatch: +concurrency: regenerate + +jobs: + generate: + name: Regenerate PluginMaster + if: github.repository == 'goatcorp/DalamudPlugins' + runs-on: windows-2019 + steps: + - name: Extract branch name + shell: bash + run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + id: extract_branch + - uses: actions/checkout@v1 + - name: Run generator + run: .\Make-PluginMaster.ps1 + - name: Commit files + continue-on-error: true + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git commit -m "Regenerate PluginMaster" -a + - name: Push changes + continue-on-error: true + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: ${{ steps.extract_branch.outputs.branch }} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..92588b6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +MIT License + +Copyright (c) 2021 Goat Systems Interactive + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +All binaries listed in this repository are licensed with the license either packaged +or found in their respective source code repositories. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Make-PluginMaster.ps1 b/Make-PluginMaster.ps1 new file mode 100644 index 0000000..3903907 --- /dev/null +++ b/Make-PluginMaster.ps1 @@ -0,0 +1,145 @@ +$ErrorActionPreference = 'SilentlyContinue' + +$output = New-Object Collections.Generic.List[object] +$notInclude = @(); + +$counts = Get-Content "downloadcounts.json" | ConvertFrom-Json +$categoryFallbacksMap = Get-Content "categoryfallbacks.json" | ConvertFrom-Json + +$dlTemplateInstall = "https://raw.githubusercontent.com/aRkker/DalamudPlugins/master/plugins/{0}/latest.zip" +$dlTemplateUpdate = "https://raw.githubusercontent.com/aRkker/DalamudPlugins/master/{0}/{1}/latest.zip" + +$apiLevel = 4 + +$thisPath = Get-Location + +$table = "" + +Get-ChildItem -Path plugins -File -Recurse -Include *.json | +Foreach-Object { + $content = Get-Content $_.FullName | ConvertFrom-Json + + if ($notInclude.Contains($content.InternalName)) { + $content | add-member -Force -Name "IsHide" -value "True" -MemberType NoteProperty + } + else + { + $content | add-member -Force -Name "IsHide" -value "False" -MemberType NoteProperty + + $newDesc = $content.Description -replace "\n", "
" + $newDesc = $newDesc -replace "\|", "I" + + if ($content.DalamudApiLevel -eq $apiLevel) { + if ($content.RepoUrl) { + $table = $table + "| " + $content.Author + " | [" + $content.Name + "](" + $content.RepoUrl + ") | " + $newDesc + " |`n" + } + else { + $table = $table + "| " + $content.Author + " | " + $content.Name + " | " + $newDesc + " |`n" + } + } + } + + $testingPath = Join-Path $thisPath -ChildPath "testing" | Join-Path -ChildPath $content.InternalName | Join-Path -ChildPath $_.Name + if ($testingPath | Test-Path) + { + $testingContent = Get-Content $testingPath | ConvertFrom-Json + $content | add-member -Name "TestingAssemblyVersion" -value $testingContent.AssemblyVersion -MemberType NoteProperty + } + $content | add-member -Force -Name "IsTestingExclusive" -value "False" -MemberType NoteProperty + + $dlCount = $counts | Select-Object -ExpandProperty $content.InternalName | Select-Object -ExpandProperty "count" + if ($dlCount -eq $null){ + $dlCount = 0; + } + $content | add-member -Force -Name "DownloadCount" $dlCount -MemberType NoteProperty + + if ($content.CategoryTags -eq $null) { + $content | Select-Object -Property * -ExcludeProperty CategoryTags + + $fallbackCategoryTags = $categoryFallbacksMap | Select-Object -ExpandProperty $content.InternalName + if ($fallbackCategoryTags -ne $null) { + $content | add-member -Force -Name "CategoryTags" -value @() -MemberType NoteProperty + $content.CategoryTags += $fallbackCategoryTags + } + } + + $internalName = $content.InternalName + + $updateDate = git log -1 --pretty="format:%ct" plugins/$internalName/latest.zip + if ($updateDate -eq $null){ + $updateDate = 0; + } + $content | add-member -Force -Name "LastUpdate" $updateDate -MemberType NoteProperty + + $installLink = $dlTemplateInstall -f $internalName, "False" + $content | add-member -Force -Name "DownloadLinkInstall" $installLink -MemberType NoteProperty + + $installLink = $dlTemplateInstall -f $internalName, "True" + $content | add-member -Force -Name "DownloadLinkTesting" $installLink -MemberType NoteProperty + + $updateLink = $dlTemplateUpdate -f "plugins", $internalName + $content | add-member -Force -Name "DownloadLinkUpdate" $updateLink -MemberType NoteProperty + + $output.Add($content) +} + +Get-ChildItem -Path testing -File -Recurse -Include *.json | +Foreach-Object { + $content = Get-Content $_.FullName | ConvertFrom-Json + + if ($notInclude.Contains($content.InternalName)) { + $content | add-member -Force -Name "IsHide" -value "True" -MemberType NoteProperty + } + else + { + $content | add-member -Force -Name "IsHide" -value "False" -MemberType NoteProperty + # $table = $table + "| " + $content.Author + " | " + $content.Name + " | " + $content.Description + " |`n" + } + + $dlCount = 0; + $content | add-member -Force -Name "DownloadCount" $dlCount -MemberType NoteProperty + + if (($output | Where-Object {$_.InternalName -eq $content.InternalName}).Count -eq 0) + { + $content | add-member -Force -Name "TestingAssemblyVersion" -value $content.AssemblyVersion -MemberType NoteProperty + $content | add-member -Force -Name "IsTestingExclusive" -value "True" -MemberType NoteProperty + + if ($content.CategoryTags -eq $null) { + $content | Select-Object -Property * -ExcludeProperty CategoryTags + + $fallbackCategoryTags = $categoryFallbacksMap | Select-Object -ExpandProperty $content.InternalName + if ($fallbackCategoryTags -ne $null) { + $content | add-member -Force -Name "CategoryTags" -value @() -MemberType NoteProperty + $content.CategoryTags += $fallbackCategoryTags + } + } + + $internalName = $content.InternalName + + $updateDate = git log -1 --pretty="format:%ct" testing/$internalName/latest.zip + if ($updateDate -eq $null){ + $updateDate = 0; + } + $content | add-member -Force -Name "LastUpdate" $updateDate -MemberType NoteProperty + + $installLink = $dlTemplateInstall -f $internalName, "True" + $content | add-member -Force -Name "DownloadLinkInstall" $installLink -MemberType NoteProperty + + $installLink = $dlTemplateInstall -f $internalName, "True" + $content | add-member -Force -Name "DownloadLinkTesting" $installLink -MemberType NoteProperty + + $updateLink = $dlTemplateUpdate -f "plugins", $internalName + $content | add-member -Force -Name "DownloadLinkUpdate" $updateLink -MemberType NoteProperty + + $output.Add($content) + } +} + +$outputStr = $output | ConvertTo-Json +Write-Output $outputStr + +Out-File -FilePath .\pluginmaster.json -InputObject $outputStr + +$template = Get-Content -Path mdtemplate.txt +$template = $template + $table +Out-File -FilePath .\plugins.md -InputObject $template diff --git a/README.md b/README.md new file mode 100644 index 0000000..fa55e52 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# aRkker's Dalamud Plugin Repository + +Simply add the link + +https://raw.githubusercontent.com/aRkker/DalamudPlugins/master/pluginmaster.json + +to Dalamud's experimental Custom Plugin Repositories to use my plugins. diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..c419263 --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-cayman \ No newline at end of file diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..5fd057f --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,60 @@ + + + + + {% if site.google_analytics %} + + + {% endif %} + + +{% seo %} + + + + + + + + + + + + +
+ {{ content }} + + +
+ + diff --git a/categoryfallbacks.json b/categoryfallbacks.json new file mode 100644 index 0000000..32ddda9 --- /dev/null +++ b/categoryfallbacks.json @@ -0,0 +1,6 @@ +{ + "WorldMapEnhancer": [ + "utility", + "other" + ] +} \ No newline at end of file diff --git a/docs/instructions1.png b/docs/instructions1.png new file mode 100644 index 0000000..24e5e66 Binary files /dev/null and b/docs/instructions1.png differ diff --git a/docs/instructions2.png b/docs/instructions2.png new file mode 100644 index 0000000..2612797 Binary files /dev/null and b/docs/instructions2.png differ diff --git a/downloadcounts.json b/downloadcounts.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/downloadcounts.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/mdtemplate.txt b/mdtemplate.txt new file mode 100644 index 0000000..7920777 --- /dev/null +++ b/mdtemplate.txt @@ -0,0 +1,9 @@ +# Neat Plugins + +These are community-made plugins that you can install by using /xlplugins in-game when the in-game addon is enabled. +
+They are made by third-party developers, not associated with XIVLauncher. You can read more about each of them by clicking their name. + + +| Author | Name | Description | +|---------------|---------------|-----------------| diff --git a/pluginmaster.json b/pluginmaster.json new file mode 100644 index 0000000..1c2164b Binary files /dev/null and b/pluginmaster.json differ diff --git a/plugins.md b/plugins.md new file mode 100644 index 0000000..610d373 Binary files /dev/null and b/plugins.md differ diff --git a/plugins/WorldMapEnhancer/WorldMapEnhancer.json b/plugins/WorldMapEnhancer/WorldMapEnhancer.json new file mode 100644 index 0000000..cc25993 --- /dev/null +++ b/plugins/WorldMapEnhancer/WorldMapEnhancer.json @@ -0,0 +1,18 @@ +{ + "Author": "aRkker", + "Name": "World Map Enhancer", + "InternalName": "WorldMapEnhancer", + "AssemblyVersion": "1.0.0.0", + "Description": "Simply zoom out by right clicking the world map, like God intended it", + "ApplicableVersion": "any", + "Tags": [ + "world", + "map", + "enhance", + "rightclick", + "zoom" + ], + "DalamudApiLevel": 6, + "LoadPriority": 0, + "Punchline": "Right click to zoom out the big map" +} \ No newline at end of file diff --git a/plugins/WorldMapEnhancer/latest.zip b/plugins/WorldMapEnhancer/latest.zip new file mode 100644 index 0000000..7b75a19 Binary files /dev/null and b/plugins/WorldMapEnhancer/latest.zip differ