Notizie: scarica ora l'ultima versione disponibile di Firefox!

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

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline bobo779256

  • Post: 525
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: 117
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: 525
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ù

Offline bobo779256

  • Post: 525
Re:Preferiti in html, sintassi html generato
« Risposta #33 il: 25 Agosto 2026 18:23:21 »
... quello che non funziona sempre è la selezione con segnalibri di Notepad++, e sto cercando di capire il perchè

Non so il perchè ma interferisce la voce Ricerca\Cronologia delle modifiche, se faccio Pulisci (oppure salvo il file, lo chiudo e lo riapro) allora funziona, se la Cronologia delle modifiche la lascio così com'è lo script viene applicato a tutte le linee, non solo a quelle selezionate

Altra cosa che 'rompe' è che a certe linee viene applicato un LF e a cert'altre CRLF, ma qui basta la voce da menu Modifica\Converti carattere di fine linea

L'ultima che mi ha impegnato tutta la mattinata... inseriva degli spazi vuoti prima del LF, nelle varie formule di cerca\sostituisci se scrivo XXXX \n oppure XXXX\n pensavo fossero uguali, invece nel primo inserisce uno spazio  :roll:

Mi si sono intrecciati gli occhi a furia di provare... mancanza di pratica, immagino

Continuo...

0 Utenti e 1 Visitatore stanno visualizzando questo topic.