Notizie: lo sai che puoi installare Firefox anche su dispositivi Apple iPhone e iPad? Provalo subito!

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

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline bobo779256

  • Post: 536
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: 133
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: 536
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: 536
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...

Offline bobo779256

  • Post: 536
Re:Preferiti in html, sintassi html generato
« Risposta #34 il: 12 Settembre 2026 15:42:54 »
Ho trovato una scappatoia, senza usare script o altro, semplicemente adattando le stringhe di cerca\sostituisci

Si parte da così

Codice: [Seleziona]
<dl><dt>Menu segnalibri</dt><dd>
<dl><dt>Auto</dt><dd>
<a href="https://www.prima.it/">Prima Assicurazione auto</a>
</dd><dd>
<a href="https://www.ilportaledellautomobilista.it/web/portale-automobilista/home">Il portale dell'Automobilista</a>
</dd><dd>
<a href="https://www.assicurazione.it/">RCAuto Assicurazione auto</a>
</dd><dd>
<a href="https://alfavirtualclub.it/forum/">AlfaVirtualClub Forum</a>
</dd><dd>
<a href="https://forum.clubalfa.it/threads/u-connect-5-aggiornamento-software-firmware.113860/page-97">U Connect 5" Aggiornamento Software &amp; Firmware - ClubAlfa</a>
</dd></dl>
</dd><dd>
<dl><dt>Cartella 1</dt><dd>
<a href="https://www.primo.it/">Primo</a>
</dd><dd>
<a href="https://www.secondo.it/">Secondo</a>
</dd><dd>
<a href="https://www.terzo.it/">Terzo</a>
</dd><dd>
<a href="https://www.quarto.it/">Quarto</a>
</dd><dd>
<a href="https://www.quinto.it/">Quinto</a>
</dd></dl>
</dd><dd>
<dl><dt>Cartella 2</dt><dd>
<a href="https://www.sesto.it/">Sesto</a>
</dd><dd>
<a href="https://www.settimo.it/">Settimo</a>
</dd><dd>
<a href="https://www.ottavo.it/">Ottavo</a>
</dd></dl>
</dd></dl>

e si finisce così

Codice: [Seleziona]
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
     It will be read and overwritten.
     Do Not Edit! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>

<DL><p>
<DT><H3>Menu segnalibri</H3>
<DL><p>
<DT><H3>Auto</H3>
<DT><A href="https://www.prima.it/">Prima Assicurazione auto</A>
<DT><A href="https://www.ilportaledellautomobilista.it/web/portale-automobilista/home">Il portale dell'Automobilista</A>
<DT><A href="https://www.assicurazione.it/">RCAuto Assicurazione auto</A>
<DT><A href="https://alfavirtualclub.it/forum/">AlfaVirtualClub Forum</A>
<DT><A href="https://forum.clubalfa.it/threads/u-connect-5-aggiornamento-software-firmware.113860/page-97">U Connect 5" Aggiornamento Software &amp; Firmware - ClubAlfa</A>
</DL><p>
<DL><p>
<DT><H3>Cartella 1</H3>
<DT><A href="https://www.primo.it/">Primo</A>
<DT><A href="https://www.secondo.it/">Secondo</A>
<DT><A href="https://www.terzo.it/">Terzo</A>
<DT><A href="https://www.quarto.it/">Quarto</A>
<DT><A href="https://www.quinto.it/">Quinto</A>
</DL><p>
<DL><p>
<DT><H3>Cartella 2</H3>
<DT><A href="https://www.sesto.it/">Sesto</A>
<DT><A href="https://www.settimo.it/">Settimo</A>
<DT><A href="https://www.ottavo.it/">Ottavo</A>
</DL><p>
</DL>

Con Notepad++ si vede meglio, il copia\incolla come codice qua non rende merito alla visuale

I vari DL e /DL fanno da delimitatori delle varie cartelle e collegamenti, mi pare si legga abbastanza bene


Questi i Trova

Codice: [Seleziona]
(\A)|(<dd>)|(</dd>)|(<dl>)|(<dt>)|(</dt>)|(</dl>(?=[\s\S]*</dl>[\s\S]*\Z))|(<a)|(ADD_DATE=".*?")|(LAST_MODIFIED=".*?")|(ICON_URI=".*?")|(ICON=".*?")|(LAST_CHARSET=".*?")|(<head>)|(</head>)|(<body>)|(</body>)|(^\r?\n)|(\Z)|(/dl)|(</a>)
e Sostituisci con

Codice: [Seleziona]
(?1<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
     It will be read and overwritten.
     Do Not Edit! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>\n\n)(?2)(?3)(?4<DL><p>\n)(?5\t<DT><H3>)(?6</H3>)(?7</DL><p>)(?8\t\t<DT><A)(?9)(?10)(?11)(?12)(?13)(?14)(?15)(?16)(?17)(?18)(?19\n)(?20/DL)(?21</A>)

opportunamente ampliati ed adattati

Penso si possa dire conclusa la faccenda, farò ancora qualche prova, soprattutto per l'importazione in FF o altri browser

Alla prossima

Offline Zigul

  • Post: 133
Re:Preferiti in html, sintassi html generato
« Risposta #35 il: 12 Settembre 2026 23:19:58 »
Grazie per l'aggiornamento (e per tutti gli spunti precedenti).

Offline bobo779256

  • Post: 536
Re:Preferiti in html, sintassi html generato
« Risposta #36 il: 17 Settembre 2026 15:49:17 »
Ultime varianti di Trova e Sostituisci con resesi necessarie per una miglior compatibilità col formato DOCTYPE NETSCAPE-Bookmark-file e altri browser, con FF nessun problema di importazione anche con i precedenti, ma questi aggiornati rendono l'html più simile a quelli esportati (vedere posizione DL e /DL)

Ho finito le prove import con altri browser, stavolta SI... passo e chiudo  :lol: :lol:


Codice: [Seleziona]
(\A)|(<dd>)|(</dd>)|(<dl>)|(<dt>)|(</dt>)|(</dl>(?=[\s\S]*</dl>[\s\S]*\Z))|(<a)|(ADD_DATE=".*?")|(LAST_MODIFIED=".*?")|(ICON_URI=".*?")|(ICON=".*?")|(LAST_CHARSET=".*?")|(<head>)|(</head>)|(<body>)|(</body>)|(^\r?\n)|(\Z)|(</dl>)|(</a>)
Codice: [Seleziona]
(?1<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
     It will be read and overwritten.
     Do Not Edit! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>\n\n<DL><p>\n)(?2)(?3)(?4)(?5\t<DT><H3>)(?6</H3>\n\t<DL><p>\n)(?7\t</DL><p>)(?8\t\t<DT><A)(?9)(?10)(?11)(?12)(?13)(?14)(?15)(?16)(?17)(?18)(?19\r\n)(?20\t</DL><p>\n</DL>)(?21</A>)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.