Autore Topic: Preferiti in html, sintassi html generato  (Letto 7938 volte)

0 Utenti e 2 Visitatori stanno visualizzando questo topic.

Offline bobo779256

  • Post: 524
Re:Preferiti in html, sintassi html generato
« Risposta #30 il: 23 Agosto 2026 17:42:50 »
Penso di aver trovato un buon compromesso utilizzando l'evidenziazione, i segnalibri e uno script Python, il tutto in Notepad++

In pratica evidenzia le righe a cui voglio applicare l'indentazione e in contemporanea aggiumge un pallino blu alle righe stesse (segnalibri), poi con lo script aggiunge una tabulazione alle righe con segnalibro

Faccio qualche altra prova visto che lo script me l'ha tirato fuori l'IA; anzi, me ne ha tirati fuori una ventina, tutti provati, ed alla fine uno che ha funzionato e che sto sperimentando (non ci capisco nulla di script, più che fare copia\incolla non saprei come altro metterci le mani)

Provo

Offline Zigul

  • Post: 113
Re:Preferiti in html, sintassi html generato
« Risposta #31 il: 23 Agosto 2026 18:09:54 »
Se hai scelto la via dello script, puoi aggiungere alla macro (o alla procedura manuale), l'esecuzione tramite menu Esegui (Run) in Notepad++ di:
Codice: [Seleziona]
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "percorso-script-PowerShell.ps1" "percorso-file-segnalibri.html"virgolette incluse, ma percorsi reali.
Prima devi salvare in un percorso a scelta, usando Notepad++, questo script con estensione .ps1:
Codice: [Seleziona]
param(
    [Parameter(Mandatory = $true)]
    [string]$InputFile
)

# Create the output filename next to the original.
$directory = [System.IO.Path]::GetDirectoryName($InputFile)
$baseName  = [System.IO.Path]::GetFileNameWithoutExtension($InputFile)
$extension = [System.IO.Path]::GetExtension($InputFile)

$OutputFile = Join-Path $directory ($baseName + "-indented" + $extension)

# Read all lines while preserving the file's text content.
$lines = [System.IO.File]::ReadAllLines($InputFile)

$depth = 0
$result = [System.Collections.Generic.List[string]]::new()

foreach ($line in $lines) {

    # Remove existing indentation.
    $text = $line.TrimStart()

    # Preserve completely blank lines.
    if ($text -eq "") {
        $result.Add("")
        continue
    }

    # A closing DL ends the current nesting level,
    # so decrease the depth BEFORE indenting this line.
    if ($text -match '^\s*</DL\b') {
        if ($depth -gt 0) {
            $depth--
        }
    }

    # Four spaces per nesting level, matching the usual
    # formatting seen in Firefox bookmark HTML.
    $result.Add(("    " * $depth) + $text)

    # An opening DL starts a new nesting level,
    # so increase the depth AFTER indenting this line.
    if ($text -match '<DL\b') {
        $depth++
    }
}

# Write UTF-8 without adding a BOM.
$utf8NoBom = [System.Text.UTF8Encoding]::new($false)
[System.IO.File]::WriteAllLines($OutputFile, $result, $utf8NoBom)

Write-Host ""
Write-Host "Finished."
Write-Host "Input : $InputFile"
Write-Host "Output: $OutputFile"
Write-Host ""
Read-Host "Press Enter to close"
Dopo che sarà eseguito lo script, rimarrà aperta una finestra PowerShell che segnalerà l'avvenuta creazione del file denominato "(nome-originale)-indented.html" nello stesso percorso del file di segnalibri; per chiudere tale finestra è sufficiente premere un tasto.
Procedura testata una volta con successo.

Offline bobo779256

  • Post: 524
Re:Preferiti in html, sintassi html generato
« Risposta #32 il: 24 Agosto 2026 11:55:08 »
La tua soluzione la vedo complessa, almeno per me

Lo script che ho trovato è di poche linee e funziona, quello che non funziona sempre è la selezione con segnalibri di Notepad++, e sto cercando di capire il perchè

Una volta che, spero, trovo risposta proporrò qua tutta la procedura, associata ovviamente ad una macro

Sempre e solo per facilitare la lettura del testo, niente di più

0 Utenti e 2 Visitatori stanno visualizzando questo topic.