2015-05-29

Gmail nie czyta zewnętrznych plików css

Gmail nie odczytuje zewnętrznych plików CSS z maili napisanych w HTML - usuwa wszystko co jest przed i po treści wiadomości. Poniższy kod nie zadziała:
Kontakt:
Telefon: {{ jednostka.tel1 }}
Zadziała za to kod, w którym cssy umieszczamy od razu w stylach:
Kontakt:
Telefon: {{ jednostka.tel1 }}
Konwertowania kodu HTML i CSS (automatycznego wrzucania do styli) można dokonać np. tutaj.

2015-05-22

Debuggowanie aplikacji webowych za pomocą Xdebug i PhpStorm

PhpStorm umożliwia debuggowanie kodu, który wyświetlany jest aktualnie przez przeglądarkę internetową. Aby móc cieszyć się tym dobrodziejstwem musimy przejść kilka kroków opisanych poniżej (instrukcja dla dystrybucji linuksa Ubuntu/Mint).

Instalacja Xdebug

sudo apt-get install php5-xdebug
Do php.ini dodajemy:
zend_extension="/usr/lib/php5/20121212/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp 
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1 
xdebug.remote_port=9000
xdebug.max_nesting_level=300

Restartujemy Apache'a:
sudo service apache2 restart

Utworzenie przycisków odpalających debuggera

Aby uruchomić i zatrzymać debuggera w przeglądarce trzeba podać jej specjalne parametry. Można to zrobić ręcznie lub utworzyć sobie do tego odpowiednie przyciski - np. na pasku zakładek (ja używam właśnie takiego rozwiązania). Pod adresem https://www.jetbrains.com/phpstorm/marklets/ można wygenerować potrzebny kod. 

Start debugger:
javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+'PHPSTORM'+';path=/;';})()

Stop debugger:
javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+''+';expires=Mon, 05 Jul 2000 00:00:00 GMT;path=/;';})()

Uruchomienie debuggera

W przeglądarce uruchamiamy debuggera (np. przyciskiem start debugger), przechodzimy do PhpStorma i tam również włączamy debuggowanie (po wcześniejszym ustawieniu breakpointów oczywiście). Wracamy do przeglądarki, uruchamiamy badaną aplikację PHP i po napotkaniu breakpointa powinno nas przenieść automatycznie do PhpStorma w zaznaczone miejsce.

Więcej na ten temat znaleźć można tutaj.

2015-05-10

Utworzenie lokalnej domeny przy użyciu Apache2 i Virtual Hosts

Aby utworzyć lokalną domenę (np. http://test.lh), która zastąpiłaby adres http://localhost/test/ wystarczy kilka prostych ruchów:
  • Tworzymy katalog test w katalogu /var/www/html/
  • Tworzymy plik index.html w katalogu test
  • Dajemy uprawnienia 0775 dla katalogu test
  • W pliku index.html wpisujemy hello world!
  • Tworzymy plik test_lh.conf w katalogu /etc/apache2/sites-available/
  • W pliku test_lh.conf wpisujemy:
    
      ServerAdmin marcin.zaremba@gmail.com
      ServerName test.lh
      ServerAlias *.test.lh
      DocumentRoot /var/www/html/test
      ErrorLog /var/log/apache2/test_error.log
      CustomLog /var/log/apache2/test_access.log combined
      
        # enable the .htaccess rewrites
        AllowOverride All
        Allow from All
        Require all granted
      
    
    
    Uwaga! Zamiast id="/var/www/html/test" piszemy po prostu /var/www/html/test.
  • W katalogu /etc/apache2/sites-enabled/ tworzymy link symboliczny do /etc/apache2/sites-available/test_lh.conf
    ln -s /etc/apache2/sites-available/test_lh.conf /etc/apache2/sites-enabled/test_lh.conf
  • W pliku /etc/hosts dodajemy linijkę 127.0.0.1 test.lh
  • Uruchamiamy przeglądarkę, wpisujemy w pasek adresy test.lh i cieszymy się z napisu hello world!

Skrypt do tworzenia lokalnej domeny


Na githubie umieściłem skrypt, który wykonuje wszystkie opisane ruchy w sposób automatyczny. Wystarczy wpisać w konsoli:
sudo ./addLocalHost.sh test
a wszystkie wyżej opisane kroki wykonają się za nas i będziemy mogli cieszyć się nową lokalną domeną test.lh.

Poniżej przedstawiam kod, który wykonuje to zadanie: