Difference between revisions of "User:NewseX"

From Trials in Tainted Space Wiki
Jump to navigation Jump to search
(Updated error handling and post formatting. A bot could probably run this now using the braces as delimiters.)
Line 229: Line 229:
 
     } | Set-Content $path -Force;
 
     } | Set-Content $path -Force;
 
"__NOTOC__ `r`n<onlyinclude>`r`n<blockquote>`r`n" + $url + (Get-Content $path -Raw) | Set-Content $path -Force;
 
"__NOTOC__ `r`n<onlyinclude>`r`n<blockquote>`r`n" + $url + (Get-Content $path -Raw) | Set-Content $path -Force;
Add-Content $path "`r`n</blockquote>`r`n</onlyinclude>`r`n[[Category: Codices ]]";  
+
Add-Content $path "`r`n</blockquote>`r`n</onlyinclude>`r`n[[Category: Codices ]]`r`n[[Category: Fiction]]";  
 
(Get-Content $path -Raw) | Foreach-Object {
 
(Get-Content $path -Raw) | Foreach-Object {
 
     $_ -replace "`t","" `
 
     $_ -replace "`t","" `

Revision as of 20:09, 18 September 2017

PowerShell script to convert actionscript to mediawiki content for codex

  1. Goto Public Github CodexEntries.as
  2. Find the function for the Codex entry you want( fenoxo names functions stupidly sometimes, but the configureCodex() main function will include a short list of them all).
  3. Highlight all the lines starting with "outputCodex" within the function.
  4. Copy paste those lines into notepad and save the file as codex.txt
  5. Open PowerShell. Should be included with windows.
  6. cd into the dir that you stored codex.txt
  7. Paste this code:
$path = ".\codex.txt";
(Get-Content $path -Raw) | Foreach-Object {
    $_ -replace "`t","" `
    -replace "clearOutputCodex\(\);","" `
    -replace ".*CodexManager.*","" `
    -replace ".*randBust.*","" `
    -replace ".*showBust.*","" `
    -replace "outputCodex\(header\(`".*.`"\)\);","" `
    -replace "\/\/.*","" `
    -replace "outputCodex\(`"","" `
    -replace "\r\n","" `
    -replace "\n","" `
    -replace "\r","" `
    -replace "\\n\\n","`n`n" `
    -replace "\\n","`n`n" `
    -replace "`"\);","" `
    -replace "outputCodex\(blockHeader\(`"","</blockquote>`n===" `
    -replace "`"\)\);","===`n<blockquote>" `
    -replace "\\`'","`'" `
    -replace "\\`"","`"" `
    -replace "\\\(","\(" `
    -replace "\\\)","\)" `
    -replace "if *\([\=\ a-zA-Z0-9\(&*\[\]$^\*<!=>%|\-+/_`"]*\)","" `
    } | Set-Content $path -Force;
"__NOTOC__ `r`n<onlyinclude>`r`n<blockquote>`r`n" + (Get-Content $path -Raw) | Set-Content $path -Force;
Add-Content $path "`r`n</blockquote>`r`n</onlyinclude>`r`n[[Category: Codices ]]"; 

If everything worked the text in codex.txt should have changed and can be copy/pasted into any codex wiki article. It should include the right categories, formatting, and deal with any other weirdness. You should still read the article to make sure. I tested it on PS5 (default in Windows 10), but I believe back to Windows 7 is okay.

Troubleshooting

  • Get-Content : Cannot bind argument to parameter 'Path' because it is null.
    • Your path variable wasn't set to a valid destination. Make sure to do $path = ".\dongs.txt" and that you are in the right directory.

Script to Generate List of All Codecies Codexes? codi?

  1. Goto Public Github CodexEntries.as
  2. Highlight configureCodex function's contents
  3. Copy paste those lines into notepad and save the file as codmain.txt
  4. Open PowerShell. Should be included with windows.
  5. cd into the dir that you stored codmain.txt
  6. Paste this code:
$path = ".\codmain.txt";
(Get-Content $path -Raw) | Foreach-Object {
    $_ -replace "`t","" `
    -replace "\n\/\/.*","" `
    -replace "\/\/.*","" `
    -replace "CodexManager.*[\=\ a-zA-Z0-9\(\)&*\[\]$^\*<!=>%|\-+/_]*, *`"","`* `[`[Codex: " `
    -replace "`",[\=\ a-zA-Z0-9\(\)&*\[\]$^\*<!=>%|\-+/_;,]*","`]`]" `
    } | Set-Content $path -Force;

It should generate a wiki formatted list that can be pasted in an edit page. Then just hit Show Preview and it will make links to all the pages.

Output





Codex Fiction

  1. Goto Public Github CodexFiction.as
  2. Highlight the function's contents.
  3. Copy paste those lines into notepad and save the file as titfiction.txt
  4. Open PowerShell. Should be included with windows.
  5. cd into the dir that you stored titfiction.txt
  6. Paste this code:
$path = ".\titfiction.txt";
$url = Select-String $path -Pattern "<u>"| Select-Object Line;
(Get-Content $path -Raw) | Foreach-Object {
    $_ -replace "`t","" `
       -replace "clearOutputCodex\(\);","" `
       -replace "author(.*);","" `
       -replace ".*CodexManager.*","" `
       -replace ".*<u>.*","" `
       -replace "outputCodex\(header\(`".*.`"\)\);","" `
       -replace "\/\/.*","" `
       -replace "outputCodex\(`"","" `
       -replace "\r\n","" `
       -replace "\n","" `
       -replace "\r","" `
       -replace "\\n\\n","`n`n" `
       -replace "\\n","`n`n" `
       -replace "`"\);","" `
       -replace "outputCodex\(blockHeader\(`"","</blockquote>`n===" `
       -replace "`"\)\);","===`n<blockquote>" `
       -replace "\\`'","`'" `
       -replace "\\`"","`"" `
       -replace "\\\(","\(" `
       -replace "\\\)","\)" `
       -replace "if *\([\=\ a-zA-Z0-9\(&*\[\]$^\*<!=>%|\-+/_`"]*\)","" `
    } | Set-Content $path -Force;
"__NOTOC__ `r`n<onlyinclude>`r`n<blockquote>`r`n" + $url + (Get-Content $path -Raw) | Set-Content $path -Force;
Add-Content $path "`r`n</blockquote>`r`n</onlyinclude>`r`n[[Category: Codices ]]`r`n[[Category: Fiction]]"; 
(Get-Content $path -Raw) | Foreach-Object {
    $_ -replace "`t","" `
       -replace "outputCodex\(`"","" `
       -replace "`"\);","" `
       -replace "<a[^>]*>","" `
       -replace "<\/a>","" `
       -replace "@{Line=","" `
       -replace "}","" `
       -replace "\\n","`n`n" `
    } | Set-Content $path -Force;

If everything worked the text in titfiction.txt should have changed and can be copy/pasted into any the correct Sotry codex page. It should include the right categories, formatting, and deal with any other weirdness. You should still read the article to make sure. I tested it on PS5 (default in Windows 10), but I believe back to Windows 7 will have a working PS version.

Notes

The script keeps in the author's name, but removes the website links. This is partly due to laziness and partly because I don't want to post the links all over the wiki in case of spam-bots or other maliciousness.