Dragonfly Opera offline offline manual complet, savepearlharbor

Acum foarte puțini oameni își pun întrebarea: "Cum va funcționa acest lucru fără Internet?". Mai puțini sunt aceia pentru care munca autonomă a unui anumit program sau instrument este o parte importantă a procesului de lucru. Și destul de puțini ar dori să obțină Opera debugger Opera Opera Dragonfly sub Opera 12 Presto.







Prietenii mei, acest manual este pentru voi toți. Și dacă unul pare destul de distractiv, iar pentru alții a trecut deja scena, atunci pentru alții va fi o revelație. Curios, desigur, de asemenea, să găsească sub tăiere.

În primul rând, pe scurt,

Cum a început totul

Pe această parte lirică sa terminat.

Cum se face Opera Dragonfly disponibilă la nivel local

Scriu în contextul Windows 7 64bit. Dar va fi adevărat pentru orice Windows, și în cea mai mare parte și pentru alte axe.

Începutul general

Apoi, există trei căi de lucru.
Era posibil, desigur, să mă limitez la primul găsit sau optim, dar din motive de exhaustivitate a prezentării și a ilustrației am descris toate posibilitățile găsite.
Fiind cea mai corectă și mai simplă recomandăm a doua metodă, numerotată sub litera B).

A) - Prima cale vizibilă, pe frunte.

5. Deschideți în aceeași legătură cu Opera 12 dragonfly.opera.com/app
6. Vedem un mesaj ca "Așteptând un nod pentru conectarea la portul 0"
7. Nu acordați atenție, apăsați Ctrl + S, selectați "File name" = "dragonfly", "File type" = "Fișier XML cu imagini" din dialog. Salvăm.
8. În dosarul în care ați salvat, vedem fișierul "dragonfly.xml" și dosarul "dragonfly_files".
9. Mutarea fișierului dragonfly.xml și a directorului dragonfly_files la C: \ Opera \ dragonfly \.
10. Redenumiți dragonfly.xml la client-ru.xml
11. Atribuiți valoarea "file: // localhost / C: /Opera/dragonfly/client-ru.xml" în opera: config "URL Tools Tools"

B) - Un mod mai scurt și mai frumos.

5. Mergem la spațiul de stocare care nu a fost încă ucis în versiunea zip colecționată de Opera Dragonfly: dragonfly.opera.com/app/zips
6. Mergeți la zipurile prestabilite - mai târziu și descărcați localizarea dorită a libelulei. Am descarcat client-ru.zip si client-en.zip
7. Despachetați client-ru.zip în C: \ Opera \ dragonfly \. Obținem fișierul client-ru.xml și două subfoldere în rădăcina acestui dosar.
[7.1] Puteți dezarhiva direct acolo și alte localizări, de exemplu client-en.zip, este compatibil. Pe scripturi și xml, conținutul arhivelor nu se intersectează, iar css pentru toate localizările este același.
8. Atribuiți valoarea "file: // localhost / C: /Opera/dragonfly/client-ru.xml" în opera: config "URL Tools Tools"

C) - Calea unui războinic adevărat

5. Du-te la depozitul încă nu a fost ucis (există furci!) Github.com/operasoftware/dragonfly. Clonăm / înclinăm zipul.






6. (Ridicat) Ridmi ne spune cu atenție că Dragonfly (Dragonfly) merge la un miracol-DragonKeeper (Dragon Keeper) - github.com/operasoftware/dragonfly-build-tools. Clonăm / înclinăm zipul.

Așa cum sa dovedit, DragonKeeper poate să colecteze, bineînțeles, un lucru minunat și nu numai să colecteze ... Dar în scopul "I'll collect Dragonfly de la surse" este cu adevărat opțional. pentru că în dragonfly, există un colector Python cu un inel de susținere în subdosarul / tools

Dar dacă cineva decide să-și continue propria dezvoltare a Dragonfly sub Opera Presto, manualele locale și libelulele și Kiper vă vor ajuta foarte mult.

6. Pomparea pictonilor. www.python.org/downloads Voi scoate o bucată sub spoiler, pe scurt vom folosi 2.6 pentru construire. * - 2.7. *.

Povestea conurilor pe pietoni

La prima intuiție mi-a spus că merită să luăm Python 2

Încercați să compilați în Python 2.7.11

Și aici, codul UnicodeEncodeError: 'ascii' nu poate codifica caracterul u '\ u2026'
Am încercat puțin, am spus că nu am jucat așa și am urmat un alt python.

Încercați să compilați în Python 3.5.1

> Instrumente python / dfbuild.py -dtsm src build
Fișierul "tools / dfbuild.py", linia 393
cu excepția (IOError, os.error), de ce:
^
SyntaxError: sintaxă invalidă

Codul pare să fie un pic în scripturile Python ale Adunării Dragonfly ...
Din motive de interes sportiv, am încercat într-un mod semi-manual să introduc regexp pe Sursy:

cu excepția (. *). (\ w +):
cu excepția \ 1 ca \ 2:

(Manuală)
imprimare
print \ (

Totul se lasă, dar este complet incomprehensibil pentru mine, un novice în python, o greșeală, și apoi am realizat în cele din urmă că fac ceva greșit 🙂
Anterior, am salvat cu siguranță starea inițială a dosarului / tools. El a restabilit-o și a decis să încerce un pic mai atent pentru a colecta sub 2-m.

Încercați să compilați sub Python 2.7.11, încercați 2.

Fișierul "tools / dfbuild.py", rândul 458, în _convert_imgs_to_data_uris
temp.write (line.encode ("ascii"))
UnicodeEncodeError: codecul "ascii" nu poate codifica caracterul u '\ u2026' în poziția 12: ordinalul nu este în interval (128)

Bine ... google, stackoverflow, ...

Am încercat să schimb metoda de introducere a "ascii" în "utf-8":
Fișierul "tools / dfbuild.py", linia 465, în _convert_imgs_to_data_uris
fp.write (temp.read () .codde ("utf-8"))
UnicodeDecodeError: codecul "ascii" nu poate decoda octetul 0xe2 în poziția 126562: ordinal nu este în intervalul (128)

Și încă câteva încercări prin metoda "Guess Melody".

Și apoi m-am întors la început, și ce simbol este?
Ellipsa ... deci înseamnă că punctele spun.
Iar codul care se încadrează cu noi este responsabil pentru actualizarea construirilor Dragonfly css în timpul instalării imaginilor base64.
Și ce este acolo în noul / stil / subdonfly.css?
Da. Și adevărul este, acolo este, simbolul eliptic! În codificarea binară utf-8.
(Apropo, după cum sa dovedit mai târziu, există încă câteva caractere ale unei linii lungi)

Și am găsit cum să rezolv procesul de construire! Numai asta voi scoate de sub spoilerul din afară. Deci:

În forma originală, scriptul pythonic nu dorește să colecteze Dragonfly.
Pentru a lucra, trebuie să remediați instrumentele / dfbuild.py 458 cu
temp.write (line.encode ("ascii"))
pe
temp.write (line.encode ("ascii", "xmlcharrefreplace"))
Informații utile pentru reflecție au furnizat doc docs.python.org/2/howto/unicode.html
Apoi, comanda de construire va funcționa bine: instrumente python / dfbuild.py -dtsm src build

Poți să te apleci cu maestrul furcii mele github.com/FlameStorm/dragonfly deja cu această remediere. În oficial a aruncat o cerere de tragere.
Observ că Dragonfly va dura mult timp. Și cea mai mare parte a lucrării se înscrie în minierea lui js pentru fiecare localizare.

7. Dragonfly s-au adunat în noul subfolder / build. Luăm de acolo fișiere client-ru.xml, stil / dragonfly.css, script / dragonfly-ru.js
8. Restul războiului este deja inutil să explicăm.

Este viu, în viață!

Toate cele trei metode funcționează.
Și da, a fost interesant!







Trimiteți-le prietenilor: