Textbehandling med AS i BBedit/Textedit

Tråden skapades och har fått 8 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2003-07-30 19:36

Målet är att skapa en htmlfil med korrekt kod för att visa ett antal bilder. Varje gång en ny bild laddas upp så skall html-koden uppdateras via AS.

Koden skall sedan användas i detta skript:

http://99mac.com/forum/showthread.php?s=&threadid=26890

Vi vet att bilderna har namn enligt serien 1.jpg, 2.jpg osv

Vi har även en variabel som innehåller numret på den sista bilden som laddades upp.

Vi behöver även inledande och avslutande kodsnutt, typ <html><body> etc

Min tankegång är följande:

-Skapa manuellt dokument med inledande/avslutande kod <html><body> etc.
AS:
- Öppna dokumentet
-Skapa IMG-taggen i rätt form mha variabeln
-Ställa markören precis innan avslutande kodsnutt (så att eventuellt existerande IMG-inte rörs vid efterföljande uppladdningar)
-Klistra in nya IMG-taggen
-Spara

osv

Överkurs: Att lägga till en kodsnutt med bildtext samt dagens datum under varje IMG-tag. Bildtexten hämtar vi från en variabel.

Vad tror ni om upplägget?

BBedit eller Textedit? Texedit verkar lite begränsat i ordlistan...

Jag tror mer på BB Edit än TextEdit, men det beror förstås på var man skall utföra text-processandet. Om man gör det enkelt för sig så kanske man inte är beroende av bra textprocess-möjligheter (som finns i BB Edit, den kommersiella versionen) utan klarar sig med TextEdit.

Här är ett förslag: Säg att du har ett dokument: "beginning.txt" som innehåller HTML-koden för inledningen av dokumentet och så har du ett "end.txt" som innehåller slutet.

Vad du behöver göra är då bara att lägga till en liten text-snutt i mitten, som är två länkar (föregående och nästa) och en bild. Senare kanske även en bildtext, datum och lite annat kul.

Så i teorin så kan du skapa HTML-snutten i mitten i en variabel:

set middlehtml to middlehtml & "<IMG SRC=""" & imagenumber as text & ".jpg"">"

osv...

Sedan kan du öppna de två dokumenten och kopiera allt från det första "beginning.txt", stoppa in det i ett nytt dokument, peta in middlehtml, öppna det andra kopiera allt och klistra in det efteråt och sedan spara filen.

Inte äkta Applescript:
set completehtml to text of document beginning & middlehtml & text of document end

make new document

set newdocument to the result

set text of newdocument to completehtml

save newdocument as filename at filelocation

Då sparar du ner på mängden kod i scriptet också.

Har mer tips, men måste göra andra saker nu.

/Ola

  • Medlem
  • International user
  • 2003-07-31 09:54

Ok, nu har jag byggt ihop ngt so funkar. All kod ligger i en textfil så länge.

Scriptet ställer markören i slutet av filen så att tidigare IMG-taggar ligger kvar genom att räkna antal ord. jag vill ställa markören precis innan </center></body></html>, dvs sista ordet minus 2 och sen flytta två steg till.

Jag kunde för mitt liv inte fundera ut hur make-kommandot funkar i BBedit (typ make word/text/text_object) därav omvägen över clipboard. Frustrerande att inte klara en sån enkel grej

Variablen nastabild är ett nummer som hämtas från det stora skriptet.

Kod
tell application "BBEdit"
activate
set indexlok to "henry:Users:mattan:Dokument MB:www.mattan.net:www Maj 2003:mobilbilder:index.html" as alias
-- Spara referens till filen
open indexlok -- Öppna filen
set bildtagg to "<img src=\"thumbnails/" & nastabild & ".jpg" & "\" alt=\"\" width=\"180\"><p>"
-- Skapa IMG-taggen (måste avkommentera "
set the clipboard to {contents:bildtagg}
-- Lägg IMG-taggen i clipboard.
set i to number of words of window 1 -- Räkna antal ord för att veta var vi skall sätta markören
select insertion point before word (i - 2) of window 1 -- Sätt markören för de tre sista orden
select insertion point before character before selection
select insertion point before character before selection -- Flytta markören till "</" innan ordet
paste -- Klistra in IMG-taggen
save window 1
close window 1 -- Spara och stäng
end tell

Om ni vill se hur det funkar skicka bild till mobilbild_at_mattan.net

Bilden syns på http://mattan.net/mobilbilder

Jag skall skaffa GPRS till min lur och testa från en T68i.

Ola: Om vill delar upp koden i flera textfiler. Hur får vi bäst med kod för bilder som redan är uppladdade? Skall vi spara den separat så vi får 3 filer?

  • Medlem
  • International user
  • 2003-07-31 10:11
Citat:

Skrevs ursprungligen av mattan Jag kunde för mitt liv inte fundera ut hur make-kommandot funkar i BBedit (typ make word/text/text_object) därav omvägen över clipboard. Frustrerande att inte klara en sån enkel grej [/B]

Yes! Hittade svaret hos Barebones...

set selection to "texten här"

Kan du inte göra något liknade detta:

Inte äkta Applescript:
search for "<!-- LAST IMAGE -->" replace with imagetag & nyradellernåge & " <!-- LAST IMAGE -->

Dvs du har en liten kommentar i HTML-koden där nästa bild skall in och gör sök/ersätt i BB Edit efter den. Då slipper du räkna ord och annat krångligt.

Eller?

/Ola

På samma sätt kan du göra med länkar till föregående och nästa sida och även bildkommentarer.

/Ola

  • Medlem
  • International user
  • 2003-07-31 12:29

Jepp, det är bättre. Försökte faktiskt med "find tag"-kommandot i BBedit men lyckades inte lura ut syntaxen.

Skall försöka lura ut syntaxen för en vanlig sökning.

Har lagt till så bildtext tas från ärenderaden också.

  • Medlem
  • International user
  • 2003-07-31 14:00

Fixat search/replace istället.

replace "" using bildtagg saving yes searching in indexlok
-- Sök efter textsträngen och ersätt med den nya koden

Fiffigt!

/Ola

1
Bevaka tråden