<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WebCodingStudio</title>
	<atom:link href="https://webcodingstudio.com/feed" rel="self" type="application/rss+xml" />
	<link>https://webcodingstudio.com/</link>
	<description></description>
	<lastBuildDate>Wed, 01 Jun 2016 10:31:27 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.8</generator>

<image>
	<url>https://webcodingstudio.com/wp-content/uploads/2020/04/cropped-favicon-32x32.png</url>
	<title>WebCodingStudio</title>
	<link>https://webcodingstudio.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Why do you need a responsive mobile friendly site today?</title>
		<link>https://webcodingstudio.com/blog/why-do-you-need-responsive-mobile-friendly-site-today</link>
					<comments>https://webcodingstudio.com/blog/why-do-you-need-responsive-mobile-friendly-site-today#comments</comments>
		
		<dc:creator><![CDATA[Evgeny Matsakov]]></dc:creator>
		<pubDate>Mon, 18 May 2015 14:10:43 +0000</pubDate>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Responsive]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://webcodingstudio.com/?p=320</guid>

					<description><![CDATA[<p>As everybody knows, web goes mobile. Currently about 30% of site traffic comes via mobile devices.</p>
<p>Starting from April 21, Google favors mobile-friendliness as a ranking signal, giving advantage to more responsive mobile-friendly sites in search results.</p>
<h2>Is your website mobile-friendly?</h2>
<p>The post <a href="https://webcodingstudio.com/blog/why-do-you-need-responsive-mobile-friendly-site-today">Why do you need a responsive mobile friendly site today?</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>As everybody knows, web goes mobile. Currently about 30% of site traffic comes via mobile devices.</p>
<p>Starting from April 21, Google favors mobile-friendliness as a ranking signal, giving advantage to more responsive mobile-friendly sites in search results.</p>
<h2>Is your website mobile-friendly?</h2>
<p>Starting TODAY you may lose traffic if it is not! To check if your site is mobile-friendly you can use <a href="https://www.google.com/webmasters/tools/mobile-friendly/" rel="nofollow external">Mobile-Friendly Test</a> utility from Google.</p>
<p>If your website uses third-party software like WordPress or Drupal there are a lot of solutions for making your site responsive. Communities may provide mobily ready themes and templates.</p>
<p>Please take a look some good starting points provided by Google listed below:</p>
<ul>
<li><a href="https://developers.google.com/webmasters/mobile-sites/website-software/wordpress" rel="nofollow external">WordPress</a></li>
<li><a href="https://developers.google.com/webmasters/mobile-sites/website-software/drupal" rel="nofollow external">Drupal</a></li>
</ul>
<p>Also you can check official <a href="https://www.drupal.org/documentation/mobile" rel="nofollow external">Drupal’s Mobile Guide</a> and list of useful resources for <a href="https://www.drupal.org/node/1388492">Responsive web design</a>.</p>
<p>Do not pull the time, otherwise competitors will leave you far behind. And remember, site responsiveness has become now main factor of SEO.</p>
<h2>What to start with?</h2>
<p>If your site is pretty basic, we could suggest making it responsive by adding a custom CSS with media queries affecting different screen resolutions. Another option is to use CSS frameworks like <a href="http://getbootstrap.com/" rel="nofollow external">Bootstrap</a> or <a href="http://foundation.zurb.com/" rel="nofollow external">Foundation</a>.</p>
<p>WordPress provides <a href="https://wordpress.org/themes/the-bootstrap/" rel="nofollow external">The Bootstrap</a> theme which can be used as the base theme for building your custom theme from scratch. Drupal has a similar project too &#8211; <a href="https://www.drupal.org/project/bootstrap" rel="nofollow external">Bootstrap</a> theme which occupies the 3rd place among the most popular Drupal themes.</p>
<p>We offer different solutions for making your site responsive depending on your needs and budget. If you have any questions or want to make your site mobile-friendly, please feel free to <a href="/contact">contact us</a>!</p>
<p>Let’s make the web better together!</p>
<p>The post <a href="https://webcodingstudio.com/blog/why-do-you-need-responsive-mobile-friendly-site-today">Why do you need a responsive mobile friendly site today?</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webcodingstudio.com/blog/why-do-you-need-responsive-mobile-friendly-site-today/feed</wfw:commentRss>
			<slash:comments>1341</slash:comments>
		
		
			</item>
		<item>
		<title>FreeBSD 9.2 server configuration: Apache, Php, Mysql, DNS, Samba</title>
		<link>https://webcodingstudio.com/blog/freebsd-92-server-configuration-apache-php-mysql-dns-samba</link>
					<comments>https://webcodingstudio.com/blog/freebsd-92-server-configuration-apache-php-mysql-dns-samba#comments</comments>
		
		<dc:creator><![CDATA[Evgeny Matsakov]]></dc:creator>
		<pubDate>Tue, 18 Feb 2014 13:54:49 +0000</pubDate>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Samba]]></category>
		<guid isPermaLink="false">https://webcodingstudio.com/?p=316</guid>

					<description><![CDATA[<p>
  Hello everyone!
  </p>
<p>
  Once, somewhere in summer 2011, I already configured FreeBSD 8 development server in our office. Then upgraded it to FreeBSD 9.0<br />
  And now new 2x2Tb disks ( for RAID0 ) and 1 SSD 100Gb arrived in case we have a lack of space on the current 500GB raid.
 </p>
<p>The post <a href="https://webcodingstudio.com/blog/freebsd-92-server-configuration-apache-php-mysql-dns-samba">FreeBSD 9.2 server configuration: Apache, Php, Mysql, DNS, Samba</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hello everyone!</p>
<p>Once, somewhere in summer 2011, I already configured FreeBSD 8 development server in our office. Then upgraded it to FreeBSD 9.0</p>
<p>And now new 2x2Tb disks ( for RAID0 ) and 1 SSD 100Gb arrived in case we have a lack of space on the current 500GB raid.</p>
<p>It&#8217;s time to install it again!</p>
<p>Main goal is to have more flexible server configuration and avoid of small errors which i had in first installation.</p>
<p><!--break--></p>
<p>The main steps would be:</p>
<ul>
<li>FreeBSD 9.2-RELEASE installation</li>
<li>Configuration and installation small utils like MC, Webmin, etc</li>
<li>Apache 2.2 installation</li>
<li>PHP 5.2, PHP 5.3, PHP 5.4 installation. All versions would be installed as FCGI</li>
<li>Mysql server</li>
<li>BIND DNS server</li>
<li>Apache Virtual Hosts</li>
<li>Samba 3.6</li>
<li>Sendmail</li>
</ul>
<h2>1. FreeBSD 9.2-RELEASE installation</h2>
<p>Diring the installation please refer this official manual: http://www.freebsd.org/doc/handbook/bsdinstall.html<br />
Allocating Disk Space: http://www.freebsd.org/doc/handbook/bsdinstall-partitioning.html</p>
<h2>2. Configuration and installation small utils like MC, Webmin, etc</h2>
<p>2.1 Add &#8220;admin&#8221; user to the &#8220;wheel&#8221; group.<br />
Login as the root user and add &#8220;admin&#8221; user to the &#8220;wheel&#8221; group. Then you will be able to operate as superuser.</p>
<pre>  pw user mod admin -G wheel
</pre>
<h3>2.1 MC</h3>
<pre>  cd /usr/ports/misc/mc
  make install clean
</pre>
<p>Uncheck &#8220;X11&#8221; support. All others may leave by default. MC installations is a really long process with a lot of dialog windows. Just press everywhere &#8220;Ok&#8221;.</p>
<h3>2.2 Webmin</h3>
<p>Install or update ports</p>
<pre>  portsnap fetch
  portsnap extract
  portsnap fetch update
</pre>
<p>Webmin installation</p>
<pre>  cd /usr/ports/sysutils/webmin
  make install clean
</pre>
<p>Add next line to &#8220;/etc/rc.conf&#8221; file.</p>
<pre>  webmin_enable="YES"
</pre>
<p>Configure Webmin by running.</p>
<pre>  /usr/local/lib/webmin/setup.sh
</pre>
<p>Start Webmin for the first time by running</p>
<pre>  /usr/local/etc/rc.d/webmin start
</pre>
<p>Open Webmin in browser</p>
<pre>  https://your-ip:10000/
</pre>
<h2>3. Apache 2.2 installation</h2>
<p>Navigate to the Apache server port and build it:</p>
<pre>  cd /usr/ports/www/apache24
  make install clean
</pre>
<p>Add next line to &#8220;/etc/rc.conf&#8221; file.</p>
<pre>  apache24_enable="YES"
</pre>
<p>Now let&#8217;s start Apache to make sure it works:</p>
<pre>  /usr/local/etc/rc.d/apache24 start
</pre>
<p>If you are getting this error</p>
<pre>  Could not reliably determine the server's fully qualified domain name, 
  using 127.0.0.1. Set the 'ServerName' directive globally to suppress 
  this message
</pre>
<p>Add next line to /usr/local/ect/apache24/httpd.conf file</p>
<pre>  ServerName localhost
</pre>
<h2>4. PHP 5.2, PHP 5.3, PHP 5.4 installation. All versions as FCGI</h2>
<p>Install mod_fcgid</p>
<pre>  cd /usr/ports/www/mod_fcgid
  make install clean
</pre>
<p>Add next line to /usr/local/ect/apache24/httpd.conf file</p>
<pre>  LoadModule fcgid_module libexec/apache24/mod_fcgid.so
</pre>
<h3>4.1 Installing PHP5.4</h3>
<pre>  cd /usr/ports/lang/php5
  make config
  make PREFIX=/usr/local/php54 PHPBASE=/usr/local/php54 install clean
</pre>
<p>If you got this error</p>
<pre>  error: xml2-config not found. Please check your libxml2 installation.
</pre>
<p>Try this:</p>
<pre>  cd /usr/ports/textproc/libxml2/
  make reinstall
</pre>
<p>Pre configure PHP54 to make sure it works.<br />
Add next lines to to /usr/local/ect/apache24/httpd.conf file.</p>
<pre>  &lt;Directory "/usr/local/www/apache24/data"&gt;
    ...
    Options ExecCGI
    Options +Indexes
    Allow from all
  &lt;/Directory&gt;
  
  &lt;IfModule mime_module&gt;
    ...
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
  &lt;/IfModule&gt;
</pre>
<p>Create new file /usr/local/ect/apache24/Includes/httpd-fcgid.conf with the next content:</p>
<pre>  &lt;IfModule mod_fcgid.c&gt;
    AddHandler fcgid-script .php
    FCGIWrapper /usr/local/php54/bin/php-cgi .php
    FcgidMaxRequestLen 134217728
  &lt;/IfModule&gt;
</pre>
<p>Change DirectoryIndex directive in file /usr/local/etc/apache24/httpd.conf</p>
<pre>  DirectoryIndex index.html index.htm index.php
</pre>
<h3>4.2 Installing PHP5.3</h3>
<pre>  cd /usr/ports/lang/php53
  make config
  make PREFIX=/usr/local/php53 PHPBASE=/usr/local/php53 install clean DISABLE_CONFLICTS=1
</pre>
<h3>4.3 Installing PHP5.2</h3>
<pre>  cd /usr/ports/lang/php52
  make config
  make PREFIX=/usr/local/php52 PHPBASE=/usr/local/php52 install clean
</pre>
<h3>4.4 Configuration all PHP5.X</h3>
<p>Create php.ini file for each php verson: /usr/local/php5X/etc/php.ini</p>
<pre>  user_ini.filename = "php.ini"
  date.timezone = Europe/Kiev
</pre>
<p>In this way you can override php_value and php_flag variables, because PHP installation as FCGI doesn&#8217;t allow to override these variables via htaccess ( cause 500 error ).<br />
You can override php_value and php_flag per-directory level, just need to create php.ini in the directory where you want to override these variables.<br />
P.S. user_ini.filename is not supported by PHP52, so you have to override these variables in the main php.ini file /usr/local/php52/etc/php.ini</p>
<p>date.timezone needed to avoid following Warning</p>
<pre>  Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the system's timezone settings.
</pre>
<p>For using another FCGI Wrapper instead of default php54, just add into htaccess:</p>
<p>For php53</p>
<pre>  FCGIWrapper /usr/local/php53/bin/php-cgi .php
</pre>
<p>For php52</p>
<pre> 
  FCGIWrapper /usr/local/php52/bin/php-cgi .php
</pre>
<h3>4.5 Installing PHP5.4 extensions</h3>
<pre>  cd /usr/ports/lang/php5-extensions
  make PREFIX=/usr/local/php54 PHPBASE=/usr/local/php54 install clean
</pre>
<p>Select neccessary extensions which you need to have.</p>
<p>If you got this error</p>
<pre>  error: Please reinstall the libcurl distribution
</pre>
<p>Try this:</p>
<pre>  cd /usr/ports/ftp/curl
  make reinstall
</pre>
<p>If you got this error</p>
<pre>    Stop in /usr/ports/x11/libXau.
</pre>
<p>put the following in your /etc/make.conf:</p>
<pre>  WITHOUT_X11=yes
</pre>
<p><strong>For each failed extension, try</strong></p>
<pre>  cd /usr/ports/[portdir]
  make deinstall
  make clean
  make distclean
  make clean
  make rmconfig
</pre>
<p><strong>And Then resintall it (with PREFIX if needed)</strong></p>
<p>Reinstall libjpeg</p>
<pre>  cd /usr/ports/graphics/jpeg
  make reinstall
</pre>
<p>Reinstall freetype2</p>
<pre>  cd /usr/ports/print/freetype2
  make reinstall
</pre>
<h3>4.6 Installing PHP5.3 extensions</h3>
<pre>  cd /usr/ports/lang/php53-extensions
  make PREFIX=/usr/local/php53 PHPBASE=/usr/local/php53 install clean
</pre>
<p>Select neccessary extensions which you need to have.</p>
<h3>4.7 Installing PHP5.2 extensions</h3>
<pre>  cd /usr/ports/lang/php52-extensions
  make PREFIX=/usr/local/php52 PHPBASE=/usr/local/php52 install clean
</pre>
<p>Select neccessary extensions which you need to have.</p>
<p><strong><br />
Please be sure you have instaled all these extensions for all PHP versions<br />
CURL, GD, MYSQL, MYSQLI, PDO, PDO_MYSQL, MBSTRING, MCRYPT, ZLIB, ZIP, SOAP, LDAP, OPENSSL<br />
</strong></p>
<h2>5. Mysql Server</h2>
<p>Build the MySQL server:</p>
<pre>  cd /usr/ports/databases/mysql56-server
  make install clean
</pre>
<p>Add the following line to /etc/rc.conf:</p>
<pre>  mysql_enable="YES"
</pre>
<p>Start the mysql server:</p>
<pre>  /usr/local/etc/rc.d/mysql-server start
</pre>
<p>Then set a password for the MySQL root user:</p>
<pre>  /usr/local/bin/mysqladmin -u root password 'your-password'
</pre>
<p>Add new user within the MySQL shell:</p>
<pre>  CREATE USER 'developer'@'localhost' IDENTIFIED BY 'developer';
  GRANT ALL PRIVILEGES ON * . * TO 'developer'@'localhost';
  FLUSH PRIVILEGES;
</pre>
<h2>6. BIND DNS server</h2>
<p>Usually BIND server is already installed in FreeBSD.<br />
Add the following line to /etc/rc.conf:</p>
<pre>  named_enable="YES"
</pre>
<p>In the file /etc/namedb/named.conf make next configurations</p>
<pre>  options {
    ...
    listen-on  {
      192.168.1.200;
      127.0.0.1;
    };
    ...
  };
  
  zone "dev" {
    type master;
    file "/etc/namedb/dev.zone";
  };
  zone "1.168.192.in-addr.arpa" {
    type master;
    file "/etc/namedb/dev-reverse.zone";
  };
</pre>
<p>Then create zone file /etc/namedb/dev.zone</p>
<pre>  dev.  IN  SOA ns1.dev. n2.dev. (
        2009121101
        86400
        7200
        8640000
        86400 )

        IN  NS  ns1.dev.

  ns1 IN  A 192.168.1.200
  ns2 IN  A 192.168.1.200

  vmserver  IN  A 192.168.1.200
  php54 IN  A 192.168.1.200
</pre>
<p>And for reverse zone /etc/namedb/dev-reverse.zone</p>
<pre>  $TTL  3600
  @ IN  SOA ns1.dev. ns2.dev. (
        2009121102
        3600
        900
        3600000
        3600 )
  IN  NS  ns1.dev.
  IN  NS  ns2.dev.

  200 IN  PTR vmserver.dev.
  200 IN  PTR php54.dev.
</pre>
<p>At last configure /etc/resolv.conf properly</p>
<pre>  domain dev
  nameserver 192.168.1.200
</pre>
<h2>7. Apache Virtual Hosts</h2>
<p>Create /usr/local/ect/apache24/Includes/httpd-vhosts.conf</p>
<pre>  &lt;VirtualHost *:80&gt;
  DocumentRoot "/usr/local/www/apache24/data"
  ServerName vmserver.dev
  &lt;Directory "/usr/local/www/apache24/data"&gt;
    Require all granted
    Allow from all
  &lt;/Directory&gt;
  &lt;/VirtualHost&gt;

  &lt;VirtualHost *:80&gt;
  DocumentRoot "/usr/local/www/php54.dev"
  ServerName php54.dev
  &lt;Directory "/usr/local/www/php54.dev"&gt;
    Require all granted
    Allow from all
  &lt;/Directory&gt;
  &lt;/VirtualHost&gt;
</pre>
<h2>8. Samba 3.6</h2>
<p>Installation</p>
<pre>  cd /usr/ports/net/samba36
  make install clean
</pre>
<p>Select: ACL_SUPPORT, AIO_SUPPORT, CUPS</p>
<p>Add the following line to /etc/rc.conf:</p>
<pre>  samba_enable="YES"
</pre>
<p>Configuration file /usr/local/etc/smb.conf should contain next lines</p>
<pre>  [global]
    workgroup = WEBCODING
    netbios name = VMSERVER
    server string = Virtual machine server
    security = SHARE

  [work]
    path = /usr/local/work
    public = yes
    browseable = yes
    writable = yes
  [www]
    path = /usr/local/www
    public = yes
    browseable = yes
    writable = yes
</pre>
<h2>9. Sendmail</h2>
<p>At the end, we need to to redirect all email to one on the local email boxes.</p>
<p>We need to create working macro configuration file.</p>
<pre>  cd /etc/mail
  make
</pre>
<p>Add next line to the created sendmail configuration file: /etc/mail/vmserver.dev.mc</p>
<pre>  define(`SMART_HOST',`local:catch-all')
</pre>
<p>Then add alias to the /etc/mail/aliases file</p>
<pre>  catch-all:  qa
</pre>
<p>Generate the sendmail.cf by issuing the following commands:</p>
<pre>  make install
</pre>
<p>And then restart sendmail service</p>
<pre>  make restart
  service sendmail restart
</pre>
<p>Then all emails will be sent to the local mailbox of the QA user instead of spamming real clients mailboxes.</p>
<p>Finished! Now you can use server for development.</p>
<p>P.S. Please don&#8217;t use this configuration on the production servers.</p>
<p>The post <a href="https://webcodingstudio.com/blog/freebsd-92-server-configuration-apache-php-mysql-dns-samba">FreeBSD 9.2 server configuration: Apache, Php, Mysql, DNS, Samba</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webcodingstudio.com/blog/freebsd-92-server-configuration-apache-php-mysql-dns-samba/feed</wfw:commentRss>
			<slash:comments>252</slash:comments>
		
		
			</item>
		<item>
		<title>Drupal Node Order module</title>
		<link>https://webcodingstudio.com/blog/drupal-node-order-module</link>
					<comments>https://webcodingstudio.com/blog/drupal-node-order-module#comments</comments>
		
		<dc:creator><![CDATA[Andrey Tonkiy]]></dc:creator>
		<pubDate>Mon, 17 Dec 2012 15:33:22 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Module]]></category>
		<guid isPermaLink="false">https://webcodingstudio.com/?p=302</guid>

					<description><![CDATA[<p><strong>"Node order"</strong> module allows users to sort the nodes of a selected content type via simple drag-and-drop interface in the admin area.</p>
<p>This is useful for sorting non-chronological nodes like bios, e-commerce products, testimonials , sliders or whatever you'd like.</p>
<p>Node order module uses default node sticky functionality, that’s why it's easy to integrate it with your site. By default Drupal nodes are sorted by stickiness first, then by creation date.</p>
<p>The post <a href="https://webcodingstudio.com/blog/drupal-node-order-module">Drupal Node Order module</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>&#8220;Node order&#8221; module allows users to sort the nodes of a selected content type via simple drag-and-drop interface in the admin area.</p>
<p>This is useful for sorting non-chronological nodes like bios, e-commerce products, testimonials , sliders or whatever you would like.</p>
<p>Below is a Screenshot of drag-and-drop usage:</p>
<p><a href="https://webcodingstudio.com/wp-content/uploads/2015/06/screenshot_node_order.jpg"><img decoding="async" class="alignnone size-medium wp-image-303" src="https://webcodingstudio.com/wp-content/uploads/2015/06/screenshot_node_order-300x125.jpg" alt="screenshot_node_order" width="300" height="125" srcset="https://webcodingstudio.com/wp-content/uploads/2015/06/screenshot_node_order-300x125.jpg 300w, https://webcodingstudio.com/wp-content/uploads/2015/06/screenshot_node_order.jpg 680w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Node order module uses default node sticky functionality, that’s why it&#8217;s easy to integrate it with your site. By default Drupal nodes are sorted by stickiness first, then by creation date.</p>
<h3>Download</h3>
<p>You can download the module at the following link <a href="http://labs.webcodingstudio.com/uploads/drupal7/node_order-7.x-1.0.zip" rel="external">node_order-7.x-1.0.zip</a></p>
<h3>How to use.</h3>
<ol>
<li>Install the module.</li>
<li>Go to the &#8220;Node Order setting&#8221; configuration page (admin/config/content/node_order) and choose which content types to use it for.</li>
<li>Then when you navigate to content list page (admin/content) the links to Node order pages will appear in Primary nav.</li>
<li>After sorting the nodes and saving the order &#8211; the values of “sticky” fields will get updated.</li>
</ol>
<h3>To do</h3>
<ul>
<li>Migrate to Drupal 8</li>
</ul>
<p>The post <a href="https://webcodingstudio.com/blog/drupal-node-order-module">Drupal Node Order module</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webcodingstudio.com/blog/drupal-node-order-module/feed</wfw:commentRss>
			<slash:comments>199</slash:comments>
		
		
			</item>
		<item>
		<title>jQuery TileZoom Plugin</title>
		<link>https://webcodingstudio.com/blog/jquery-tilezoom-plugin</link>
					<comments>https://webcodingstudio.com/blog/jquery-tilezoom-plugin#comments</comments>
		
		<dc:creator><![CDATA[Evgeny Matsakov]]></dc:creator>
		<pubDate>Sat, 07 Jul 2012 09:22:31 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tilezoom]]></category>
		<guid isPermaLink="false">https://webcodingstudio.com/?p=300</guid>

					<description><![CDATA[<p>The <strong>jQuery TileZoom Plugin</strong> is an image zoom plugin which uses image tiles and provides a convenient way to zoom in and zoom out of high-resolution images.</p>
<p>The plugin provides a method called <strong>tilezoom</strong> which is invoked on a container element.<br />
It's simple html and javascript. Plugin doesn't use canvas element, that is why it works with IE browsers too!</p>
<p>Tiles for the image should be generated with <a href="http://labs.webcodingstudio.com/uploads/php/tilegenerator.zip">TileGenerator</a> (modified version of <a rel="nofollow external" href="https://github.com/openzoom/deepzoom.php">PHP Deep Zoom Tools</a>) for this.</p>
<p>The post <a href="https://webcodingstudio.com/blog/jquery-tilezoom-plugin">jQuery TileZoom Plugin</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The <strong>jQuery TileZoom Plugin</strong> is an image zoom plugin which uses image tiles and provides a convenient way to zoom in and zoom out of high-resolution images.<br />
See <a href="http://labs.webcodingstudio.com/tilezoom/index.html" rel="nofollow external">demo</a> page with 2 examples: <a href="http://labs.webcodingstudio.com/tilezoom/2dollars.html" rel="nofollow external">2 Dollars (7356 x 3146)</a> and <a href="http://labs.webcodingstudio.com/tilezoom/mona-lisa.html" rel="nofollow external">Mona Lisa (2835 x 4289)</a>.</p>
<h3>How it Works</h3>
<p>The plugin provides a method called <strong>tilezoom</strong> which is invoked on a container element.<br />
It&#8217;s simple html and javascript. Plugin doesn&#8217;t use canvas element, that is why it works with IE browsers too!</p>
<p>Tiles for the image should be generated with <a rel="nofollow external" href="http://www.openzoom.org/">OpenZoom</a> tile generator. You can use our <a href="http://labs.webcodingstudio.com/uploads/php/tilegenerator.zip">TileGenerator</a> (modified version of <a rel="nofollow external" href="https://github.com/openzoom/deepzoom.php">PHP Deep Zoom Tools</a>) for this.<br />
Then specify XML file path or path to tiles directory with width and height image resolution options. That&#8217;s all what you need.</p>
<h3>How to use</h3>
<p>Be sure to include the JQuery library. And just add this code inside your page head:</p>
<pre data-language="html" class="code">
&lt;link type="text/css" rel="stylesheet" media="all" href="tilezoom/jquery.tilezoom.css" />
&lt;script type="text/javascript" src="tilezoom/jquery.tilezoom.js">&lt;/script>
</pre>
<h3>Commands</h3>
<p>The <strong>tilezoom</strong> function can be called in the following form: </p>
<pre data-language="js" class="code">
$(document).ready(function(){
  $('#container').tilezoom('command');
});
</pre>
<p>The following command strings are supported:</p>
<pre data-language="js" class="code">
'init'   // init tilezoom, default method
'destroy' // destroy tilezoom and unbinds all events
'zoom'  // zoom image to the specified level
</pre>
<h3>Basic examples of usage:</h3>
<pre data-language="js" class="code">
$(document).ready(function(){
  $('#container').tilezoom({
    width: 2835,
    height: 4289,
    path: 'dest/mona_lisa_files',
    mousewheel: true
  });
});
</pre>
<pre data-language="js" class="code">
$(document).ready(function(){
  $('#container').tilezoom({
    xml: 'dest/2dollars.xml',
    mousewheel: true
  });
});
</pre>
<h3>Options</h3>
<p>The following default options are provided by the plugin. They can be overridden by passing an options object to the <strong>tilezoom</strong> method.</p>
<pre data-language="js" class="code">
var defaults = {
  width: null, // original image width in pixels. *(required) if no xml file
  height: null, // original image height in pixels *(required) if no xml file
  path: null, // tiles directory. *(required) if no xml file
  xml: null, // xml file with settings generated with Deep Zoom Tools
  tileSize: 254, // tile size in pixels
  overlap: 1, // tiles overlap
  thumb: 'thumb.jpg', // thumbnail filename
  format: 'jpg', // image format
  speed: 500, // animation speed (ms)
  easing: 'swing', // animation easing (jquery easing function name)
  mousewheel: false, // requires mousewheel event plugin: http://plugins.jquery.com/project/mousewheel
  gestures: false, // requires hammer.js event plugin, https://github.com/hammerjs/hammer.js
  zoomToCursor: true, // stay the same relative distance from the edge when zooming
  offset: '20%', //boundaries offset (px or %). If 0 image move side to side and up to down
  dragBoundaries: true, // If we should constrain the drag to the boundaries
  minZoomLevel: 0, // can't zoom out past level [minZoom]
  maxZoomLevel: 9999, // can't zoom in past level [maxZoom]
  wrapZoom: true, // If we're at the high level of resolution, go back to the start level
  beforeZoom: function($cont) {}, // callback before a zoom happens
  onZoom: function($cont, progress) {}, // callback for each zoom animation step
  afterZoom: function($cont) {}, // callback after zoom has completed
  callBefore: function($cont) {}, // this callback happens before dragging starts
  callAfter: function($cont, coords) {}, // this callback happens at end of drag after released "mouseup"
  initialized: function($cont) {}, // this callback happens after tilezoom  has been fully initalized.
  navigation: true, // navigation container ([true: show nav controls] or [false: don't show nav controls] or [DOM selector to insert controls in])
  zoomIn: null, // zoomIn button
  zoomOut: null, // zoomOut button
  goHome: null, // goHome button, reset to default state
  toggleFull: null // toggleFull button
}
</pre>
<h3>Documentation</h3>
<p><a href="http://labs.webcodingstudio.com/tilezoom/docs.html" rel="nofollow external">Here</a> you can find more info about jQuery TileZoom Plugin.</p>
<h3>Demos and Examples</h3>
<ul>
<li><a href="http://labs.webcodingstudio.com/tilezoom/2dollars.html">2 Dollars (<em>7356 x 3146</em>)</a></li>
<li><a href="http://labs.webcodingstudio.com/tilezoom/mona-lisa.html">Mona Lisa (<em>2835 x 4289</em>)</a></li>
</ul>
<h3>Try</h3>
<p>On this <a href="http://labs.webcodingstudio.com/tilegenerator/" rel="nofollow external">TileGenerator</a> demo page you can try to upload your own image and see jQuery TileZoom Plugin in action.</p>
<h3>Download</h3>
<table>
<thead>
<tr>
<th>Version</th>
<th>Downloads</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr class="ok">
<td>jQuery TileZoom Plugin 1.2</td>
<td><a href="http://labs.webcodingstudio.com/uploads/jquery/tilezoom-1.2.zip">zip (21.82 KB)</a></td>
<td>2015-December-02</td>
</tr>
<tr class="warning">
<td>jQuery TileZoom Plugin 1.1.1</td>
<td><a href="http://labs.webcodingstudio.com/uploads/jquery/tilezoom-1.1.1.zip">zip (21.66 KB)</a></td>
<td>2014-February-04</td>
</tr>
<tr class="warning">
<td>jQuery TileZoom Plugin 1.1</td>
<td><a href="http://labs.webcodingstudio.com/uploads/jquery/tilezoom-1.1.zip">zip (21.62 KB)</a></td>
<td>2012-October-11</td>
</tr>
<tr class="ok">
<td>TileZoom Examples</td>
<td><a href="http://labs.webcodingstudio.com/uploads/jquery/tilezoom_examples.zip">zip (36.73 MB)</a></td>
<td>2011-December-12</td>
</tr>
<tr class="ok">
<td>TileGenerator 1.01</td>
<td><a href="http://labs.webcodingstudio.com/uploads/php/tilegenerator-1.01.zip">zip (69.09 MB)</a></td>
<td>2014-July-10</td>
</tr>
<tr class="warning">
<td>jQuery TileZoom Plugin 1.0</td>
<td><a href="http://labs.webcodingstudio.com/uploads/jquery/tilezoom-1.0.zip">zip (19.96 KB)</a></td>
<td>2011-November-25</td>
</tr>
<tr class="warning">
<td>TileGenerator 1.0</td>
<td><a href="http://labs.webcodingstudio.com/uploads/php/tilegenerator-1.0.zip">zip (69.46 MB)</a></td>
<td>2011-December-12</td>
</tr>
</tbody>
</table>
<p>Or you can download latest release on <a href="https://github.com/ematsakov/tilezoom" rel="nofollow external">Github</a>.</p>
<h3>Changelog</h3>
<p>jQuery TileZoom 1.2, 2015-December-02<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Various modernization and flexibility enhancements ( Thanks to <a rel="nofollow external" href="https://github.com/fortinmike">Michaël Fortin</a> )<br />
Most useful changes are:<br />
&#8211; Mouse input is not disabled when a touchscreen is detected (mouse input didn&#8217;t work with Windows devices with seldom-used touchscreens).<br />
&#8211; Using Hammer.js for more robust multi-touch input instead of dnaielglyde/TouchIt<br />
&#8211; Added onZoom callback (called for each zoom step)<br />
&#8211; Removed dependency on ES6 feature (yield, which didn&#8217;t bring much to the table anyway).</p>
<p>TileGenerator 1.01, 2014-July-10<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&#8211; Fixed exif_read_data error.</p>
<p>jQuery TileZoom 1.1.1, 2014-February-04<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&#8211; Added &#8220;initialized&#8221; callback which happens after tilezoom plugin has been fully initalized.</p>
<p>jQuery TileZoom 1.1, 2012-October-11<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&#8211; Add touch gesture support (jQuery required dependency:<br />
<a href="https://github.com/danielglyde/TouchIt" rel="nofollow external">https://github.com/danielglyde/TouchIt</a>). Supports pinch to zoom in and<br />
out, double tapping to zoom and tap dragging<br />
&#8211; Add a gestures property and sets to false (just like mousewheel).<br />
&#8211; Add dragBoundaries boolean to optionally turn off constraining image<br />
to boundaries while dragging<br />
&#8211; Add double-click to zoom-in<br />
&#8211; Fix unbind the mousemove on mouse up<br />
&#8211; Add public resize() method if the container resizes<br />
&#8211; Fix issue where certain mousewheels (or trackpads) were giving a<br />
non-interger based delta were causing it to scale the holder to an<br />
un-even level (images would fail)<br />
&#8211; Add optimization to not re-zoom if we&#8217;re already at the correct level<br />
&#8211; Add CSS support for default navigation always showing with gestures on<br />
<small>Thanks to Matt Moore for all of these issues fixed.</small><br />
===<br />
&#8211; Fix issue &#8220;position: fixed;&#8221; on some Android 2.x devices.<br />
<small>Thanks to <a href="https://github.com/ericente" rel="nofollow external">ericente</a></small></p>
<p>The post <a href="https://webcodingstudio.com/blog/jquery-tilezoom-plugin">jQuery TileZoom Plugin</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webcodingstudio.com/blog/jquery-tilezoom-plugin/feed</wfw:commentRss>
			<slash:comments>269</slash:comments>
		
		
			</item>
		<item>
		<title>Drupal Highlighting module</title>
		<link>https://webcodingstudio.com/blog/drupal-highlighting-module</link>
					<comments>https://webcodingstudio.com/blog/drupal-highlighting-module#comments</comments>
		
		<dc:creator><![CDATA[Evgeny Matsakov]]></dc:creator>
		<pubDate>Thu, 08 Dec 2011 11:09:44 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Module]]></category>
		<guid isPermaLink="false">https://webcodingstudio.com/?p=298</guid>

					<description><![CDATA[<p>
	Syntax highlighting is very important when we want to show our code example on the Drupal site. It may be useful in the portfolio, if you're a programmer or in blog posts to highlight pieces of code.
</p>
<p>
	This module integrates <a rel="external" href="https://webcodingstudio.com/blog/jquery-syntax-highlight-plugin">JQuery syntax Highlight plugin</a> into Drupal for syntax highlighting of source code snippets in any Drupal contents.
</p>
<p>
	Please feel free to check out and use our <strong>Drupal Highlighting module</strong>.</p>
<p>The post <a href="https://webcodingstudio.com/blog/drupal-highlighting-module">Drupal Highlighting module</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>
	Syntax highlighting is very important when we want to show our code example on the Drupal site. It may be useful in the portfolio, if you&#8217;re a programmer or in blog posts to highlight pieces of code.
</p>
<p>
	This module integrates <a rel="external" href="https://webcodingstudio.com/blog/jquery-syntax-highlight-plugin">JQuery syntax Highlight plugin</a> into Drupal for syntax highlighting of source code snippets in any Drupal contents.
</p>
<p>
	Please feel free to check out and use our <strong>Drupal Highlighting module</strong>.
</p>
<h3>Third party library dependency</h3>
<p>This module requires <a rel="external" href="https://webcodingstudio.com/blog/jquery-syntax-highlight-plugin">JQuery syntax Highlight plugin</a> which was written before. By defalut this library is included in the module installation.</p>
<p>But you can also download the latest version from <a rel="external" href="https://webcodingstudio.com/blog/jquery-syntax-highlight-plugin">JQuery syntax Highlight plugin</a> page and copy it into the module folder.</p>
<h3>Language Support</h3>
<p>Highlighting module supports the same languages as the original JQuery plugin: HTML, CSS, PHP and Javascript.</p>
<h3>How to use</h3>
<h4>Drupal 6</h4>
<p>After installing &#8220;Highlighting&#8221; module add new input filter &#8220;Highlighter&#8221;.<br />
To highlight your code, you should select &#8220;Highlighter&#8221; filter for the node and then just use this native formats:</p>
<p><code>&lt;pre class="code">source code&lt;/pre></code></p>
<p>To see more usage examples please check the original article.</p>
<h4>Drupal 7</h4>
<p>In Drupal 7 the module doesn&#8217;t create separate input format but adds new filter which should be enabled for input format you plan to use with highlighting the code. For example you can enable this filter for &#8220;Full Html&#8221; input format.</p>
<h3>Demo</h3>
<p>See <a rel="external" href="http://demo.webcodingstudio.com/drupal6/highlight">Drupal 6 demo</a> page with css, html, php, js syntax highlighted.</p>
<h3>Download</h3>
<p>Please use the links below for Drupal 6 and Drupal 7 versions accordingly:</p>
<h3>Download</h3>
<table>
<thead>
<tr>
<th>Version</th>
<th>Downloads</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr class="ok">
<td>6.x-1.0</td>
<td><a href="http://labs.webcodingstudio.com/uploads/drupal6/highlighting-6.x-1.0.zip">zip (7.13 KB)</a></td>
<td>2010-December-19</td>
</tr>
<tr class="ok">
<td>7.x-1.0</td>
<td><a href="http://labs.webcodingstudio.com/uploads/drupal7/highlighting-7.x-1.0.zip">zip (7.40 KB)</a></td>
<td>2011-June-06</td>
</tr>
</tbody>
</table>
<h3>To do</h3>
<ol>
<li>Create admin configuration form for changing plugin options: source, zebra, indent and list</li>
</ol>
<p>The post <a href="https://webcodingstudio.com/blog/drupal-highlighting-module">Drupal Highlighting module</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webcodingstudio.com/blog/drupal-highlighting-module/feed</wfw:commentRss>
			<slash:comments>321</slash:comments>
		
		
			</item>
		<item>
		<title>Cache Php Class</title>
		<link>https://webcodingstudio.com/blog/cache-php-class</link>
					<comments>https://webcodingstudio.com/blog/cache-php-class#comments</comments>
		
		<dc:creator><![CDATA[Evgeny Matsakov]]></dc:creator>
		<pubDate>Tue, 10 Aug 2010 12:46:11 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Php]]></category>
		<guid isPermaLink="false">https://webcodingstudio.com/?p=296</guid>

					<description><![CDATA[<p>
	There are many ready solutions for caching data on php, but I will propose own <strong>Cache Php Class</strong>. It is quite simple and will help to understand the mechanism of caching.
</p>
<p>
	We will not be caching whole pages, this solution is outdated. In reality, only caching of individual blocks is used. And if more precisely, we will cache only the pure data, no html.
</p>
<p>
	Cacher allows you to cache variables (anything that can be put into a variable) for later use. This speeds up loading time, and reduces load on the data source.</p>
<p>The post <a href="https://webcodingstudio.com/blog/cache-php-class">Cache Php Class</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>
	There are many ready solutions for caching data on php, but I will propose own <strong>Cache Php Class</strong>. It is quite simple and will help to understand the mechanism of caching.
</p>
<p>
	We will not be caching whole pages, this solution is outdated. In reality, only caching of individual blocks is used. And if more precisely, we will cache only the pure data, no html.
</p>
<p>
	Cacher allows you to cache variables (anything that can be put into a variable) for later use. This speeds up loading time, and reduces load on the data source.
</p>
<p>Samples where it can be used</p>
<ul>
<li>caching database queries results;</li>
<li>requests from remote servers;</li>
<li>getting images or files listings after browsing through the directories, etc.</li>
</ul>
<p>We use it in our Calypso CMS for caching blocks with the latest posts, menu links tree, portfolio listings, twitter requests etc.</p>
<p>For example, on this page we have 24 mysql queries without caching. With caching &#8211; only 9 queries.</p>
<h3>Example</h3>
<p>Caching hierarchical menu tree from our Calypso CMS:</p>
<pre data-language="php" class="code">
$cache_key = 'menu-'.$menu['id'];
if(Cache::is_actual($cache_key, 3600)) {
	$tree = Cache::get_cache($cache_key);
}
else {
	$tree = $this->db->get_tree($menu['id']);
	Cache::put_cache($cache_key, $tree);
}
</pre>
<p>
	Here &#8220;3600&#8221; is cache lifetime in seconds. If 1 hour from the last time cache generated has not passed, then data is taken from the cache. Otherwise, the &#8220;get_tree&#8221; method starts, which get entries from the database and builds a hierarchical tree of links.
</p>
<h3>System requirements</h3>
<p>
	Recommended: PHP 5.2.x<br />
	Required: PHP version 5.x.x or higher<br />
	PHP versions 4.x are not supported because property visibility and method visibility used (public or private).
</p>
<h3>Download</h3>
<table>
<thead>
<tr>
<th>Version</th>
<th>Downloads</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr class="ok">
<td>1.0</td>
<td><a href="http://labs.webcodingstudio.com/uploads/php/cache-1.0.zip">zip (1.01 KB)</a></td>
<td>2010-August-17</td>
</tr>
</tbody>
</table>
<h3>To do</h3>
<ul>
<li>Make a single interface, then expand to various storages: filecache, database cache, memcached, etc.</li>
<li>Add Cache Manager using 2 design patterns: Strategy and Registry, if we will first use a file cache, and then want to move quickly to memcache.</li>
<li>Maybe will add methods to prepare cache by parts and then combine into one piece.</li>
</ul>
<p>The post <a href="https://webcodingstudio.com/blog/cache-php-class">Cache Php Class</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webcodingstudio.com/blog/cache-php-class/feed</wfw:commentRss>
			<slash:comments>378</slash:comments>
		
		
			</item>
		<item>
		<title>Text Replace php script</title>
		<link>https://webcodingstudio.com/blog/text-replace-php-script</link>
					<comments>https://webcodingstudio.com/blog/text-replace-php-script#comments</comments>
		
		<dc:creator><![CDATA[Evgeny Matsakov]]></dc:creator>
		<pubDate>Mon, 28 Jun 2010 17:49:46 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Php]]></category>
		<guid isPermaLink="false">https://webcodingstudio.com/?p=294</guid>

					<description><![CDATA[<p>When it's needed to replace some text in multiple html files, first of all you're starting thinking about this boring monotonous work. </p>
<p>For example, you have almost finished slicing about 30 pages from PSD to HTML. And the customer requests to replace JUST some of the links in the footer and one link in the header for example on each page. It's cool if you could use PHP or SSI includes. But if the customer wants a clean and simple HTML markup. What would you to do in this case? </p>
<p>Please feel free to check out and use our <strong>Text Replace php script</strong>.</p>
<p>The post <a href="https://webcodingstudio.com/blog/text-replace-php-script">Text Replace php script</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>
	When it&#8217;s needed to replace some text in multiple html files, first of all you&#8217;re starting thinking about this boring monotonous work.
</p>
<p>
	For example, you have almost finished slicing about 30 pages from PSD to HTML. And the customer requests to replace JUST some of the links in the footer and one link in the header for example on each page. It&#8217;s cool if you could use PHP or SSI includes. But if the customer wants a clean and simple HTML markup. What would you to do in this case?
</p>
<p>
	Please feel free to check out and use our <strong>Text Replace php script</strong>.
</p>
<h3>System requirements</h3>
<p>
	Recommended: PHP 5.2.x<br />
	Required: PHP version 5.x.x or higher<br />
	PHP versions 4.x are not supported because property visibility and method visibility used (public or private).
</p>
<h3>Demo</h3>
<p>Please see Text Replace php script <a href="http://demo.webcodingstudio.com/replace/wcs_replace.php" rel="nofollow external" target="_blank">demo</a> page.<br />
You can see <a href="http://demo.webcodingstudio.com/replace/style-conventions.html" rel="nofollow external" target="_blank">example</a> html page and you can replace any line of text or html there.<br />
Also you can see <a href="http://demo.webcodingstudio.com/replace/style.css" rel="nofollow external">example</a> css file and provide test changes as well.</p>
<h3>Download</h3>
<table>
<thead>
<tr>
<th>Version</th>
<th>Downloads</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr class="ok">
<td>1.0</td>
<td><a href="http://labs.webcodingstudio.com/uploads/php/wcs_replace-1.0.zip">zip (2.85 KB)</a></td>
<td>2010-June-20</td>
</tr>
</tbody>
</table>
<h3>To do</h3>
<ul>
<li>Currently the script produces only one-line replacement in files.<br />
	In the next revision we are planning to add the ability to replace multiline blocks.</li>
</ul>
<p>The post <a href="https://webcodingstudio.com/blog/text-replace-php-script">Text Replace php script</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webcodingstudio.com/blog/text-replace-php-script/feed</wfw:commentRss>
			<slash:comments>385</slash:comments>
		
		
			</item>
		<item>
		<title>JQuery syntax Highlight plugin</title>
		<link>https://webcodingstudio.com/blog/jquery-syntax-highlight-plugin</link>
					<comments>https://webcodingstudio.com/blog/jquery-syntax-highlight-plugin#comments</comments>
		
		<dc:creator><![CDATA[Evgeny Matsakov]]></dc:creator>
		<pubDate>Mon, 15 Mar 2010 22:27:29 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Plugin]]></category>
		<guid isPermaLink="false">https://webcodingstudio.com/?p=187</guid>

					<description><![CDATA[<p>
	This plugin allows syntax highlighting of source code snippets in an html page.  It is very important especially when we want to show our code example. There are a lot of free and useful syntax highlighting scripts around, but they are big, slow and have unnecessary functionality.<br />
	So that people can see examples of work in our <a href="/portfolio">portfolio</a>, I wrote this little script to highlight HTML, CSS, PHP and JavaScript syntax. It's very simple and works quickly.</p>
<p>The post <a href="https://webcodingstudio.com/blog/jquery-syntax-highlight-plugin">JQuery syntax Highlight plugin</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>This plugin allows syntax highlighting of source code snippets in an html page. It is very important especially when we want to show our code example. There are a lot of free and useful syntax highlighting scripts around, but they are big, slow and have unnecessary functionality.<br />
So that people can see examples of work in our <a href="/portfolio">portfolio</a>, I wrote this little script to highlight HTML, CSS, PHP and JavaScript syntax. It&#8217;s very simple and works quickly.</p>
<h3>How to use</h3>
<p>Be sure that you have include the JQuery library. And just add this code inside your page head:</p>
<pre class="code" data-language="html">&lt;script src="highlight.js" type="text/javascript"&gt;&lt;/script&gt;</pre>
<p>Call Highlighter on any selected pre tag:</p>
<pre class="code" data-language="js">$(document).ready(function(){
  $('pre.code').highlight({source:1, zebra:1, indent:'space', list:'ol'});
});
</pre>
<p>Default params:</p>
<pre class="code" data-language="js">var defaults = {
  // show source code tab
  source: true,
  // show zebra
  zebra: true,
  //indents: "tabs" or "space"  
  indent: 'tabs',
  //ordered ("ol") or unordered ("ul') list
  list: 'ol'
}
</pre>
<p>And use such &#8220;pre&#8221; tags in page content to highlight code:</p>
<p><code>&lt;pre class="code"&gt;default&lt;/pre&gt;<br />
&lt;pre class="code" lang="js"&gt;js code&lt;/pre&gt;<br />
&lt;pre class="code" lang="css"&gt;css code&lt;/pre&gt;<br />
&lt;pre class="code" lang="html"&gt;html code&lt;/pre&gt;<br />
&lt;pre class="code" lang="php"&gt;php code&lt;/pre&gt;</code></p>
<p>Soon I plan to write a module for Drupal and plugin for WordPress based on this script.</p>
<h3>Demo</h3>
<p>See <a href="http://demo.webcodingstudio.com/highlight/demo.html" rel="nofollow external">demo</a> page with css, html, php, js syntax highlighted.</p>
<h3>Download</h3>
<table>
<thead>
<tr>
<th>Version</th>
<th>Downloads</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr class="ok">
<td>1.06</td>
<td><a href="http://labs.webcodingstudio.com/uploads/jquery/highlight-1.06.zip">zip (32.35 KB)</a></td>
<td>2016-June-01</td>
</tr>
<tr class="warning">
<td>1.05</td>
<td><a href="http://labs.webcodingstudio.com/uploads/jquery/highlight-1.05.zip">zip (27.83 KB)</a></td>
<td>2015-December-02</td>
</tr>
<tr class="warning">
<td>1.04</td>
<td><a href="http://labs.webcodingstudio.com/uploads/jquery/highlight-1.04.zip">zip (13.65 KB)</a></td>
<td>2015-February-12</td>
</tr>
<tr class="warning">
<td>1.03</td>
<td><a href="http://labs.webcodingstudio.com/uploads/jquery/highlight-1.03.zip">zip (13.38 KB)</a></td>
<td>2015-February-11</td>
</tr>
<tr class="warning">
<td>1.02</td>
<td><a href="http://labs.webcodingstudio.com/uploads/jquery/highlight-1.02.zip">zip (13.01 KB)</a></td>
<td>2014-July-10</td>
</tr>
<tr class="warning">
<td>1.1</td>
<td><a href="http://labs.webcodingstudio.com/uploads/jquery/highlight-1.1.zip">zip (12.9 KB)</a></td>
<td>2013-May-23</td>
</tr>
<tr class="warning">
<td>1.0</td>
<td><a href="http://labs.webcodingstudio.com/uploads/jquery/highlight-1.0.zip">zip (8.38 KB)</a></td>
<td>2010-March-16</td>
</tr>
</tbody>
</table>
<p>Or you can download latest release on <a href="https://github.com/ematsakov/highlight" rel="nofollow external">Github</a>.</p>
<h3>Changelog</h3>
<p>Jquery Highlight 1.06, 2015-June-01<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Added bash suppport, improved JS highlighting (Thanks again to <a href="https://github.com/owenBeresford" rel="nofollow external">owenBeresford</a>).</p>
<p>Jquery Highlight 1.05, 2015-December-02<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Many many many more PHP functions  (Thanks again to <a href="https://github.com/owenBeresford" rel="nofollow external">owenBeresford</a>).</p>
<p>Jquery Highlight 1.04, 2015-February-12<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Added class, var, the PHP5 keywords, number formatting and others (Thanks to <a href="https://github.com/owenBeresford" rel="nofollow external">owenBeresford</a>).</p>
<p>Jquery Highlight 1.03, 2015-February-11<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Fixed incorrect comment parsing in PHP ( # )</p>
<p>Jquery Highlight 1.02, 2014-July-10<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Added flex-* CSS keywords<br />
//TODO Review a list of CSS properties and add missing to the plugin.</p>
<p>Jquery Highlight 1.1, 2013-May-23<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&#8211; Added SQL highlighting (Thanks to <a href="https://github.com/ondrovic" rel="nofollow external">ondrovic</a>). Need to add nice color scheme.<br />
&#8211; Introduced support of HTML5 syntax via valid &#8220;data-&#8221; attributes (Thanks to <a href="https://github.com/PieroWbmstr" rel="nofollow external">PieroWbmstr</a>).</p>
<p>The post <a href="https://webcodingstudio.com/blog/jquery-syntax-highlight-plugin">JQuery syntax Highlight plugin</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webcodingstudio.com/blog/jquery-syntax-highlight-plugin/feed</wfw:commentRss>
			<slash:comments>426</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress Category HTML Description plugin</title>
		<link>https://webcodingstudio.com/blog/wordpress-category-html-description-plugin</link>
					<comments>https://webcodingstudio.com/blog/wordpress-category-html-description-plugin#comments</comments>
		
		<dc:creator><![CDATA[Evgeny Matsakov]]></dc:creator>
		<pubDate>Sat, 13 Feb 2010 22:49:09 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://webcodingstudio.com/?p=1</guid>

					<description><![CDATA[<p>To more personalize your WordPress blog you can use the categories description. But WordPress uses content filters that strip out all but the most basic formatting tags. And we can not add HTML code for the categories descriptions.
</p>
<p>
Our team wrote a small <strong>WordPress Category HTML Description</strong> plugin, which solves this problem.<br />
Plugin disables content filters and any html code you add to the category description will not be stripped out.</p>
<p>The post <a href="https://webcodingstudio.com/blog/wordpress-category-html-description-plugin">WordPress Category HTML Description plugin</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>To more personalize your WordPress blog you can use the categories description. But WordPress uses content filters that strip out all but the most basic formatting tags. And we can not add HTML code for the categories descriptions.</p>
<p>Our team wrote a small <strong>WordPress Category HTML Description</strong> plugin, which solves this problem.<br />
Plugin disables content filters and any html code you add to the category description will not be stripped out.</p>
<p><strong>Installation:</strong></p>
<ol>
<li>Upload <code>`wc_cat_description.php`</code> to the <code>`/wp-content/plugins/`</code> directory</li>
<li>Activate the plugin through the &#8216;Plugins&#8217; menu in WordPress</li>
</ol>
<p>To show html category description use the following code in your <code>category.php/archive.php</code> template.</p>
<pre class="code" data-language="php">&lt;?php if(function_exists('wc_category_html')) : ?&gt;
	&lt;?php wc_category_html(); ?&gt;
&lt;?php endif; ?&gt;
</pre>
<p><strong>Download</strong></p>
<ul>
<li><a href="http://labs.webcodingstudio.com/uploads/wordpress/wc_cat_description.zip">Version 1.0</a></li>
</ul>
<p>The post <a href="https://webcodingstudio.com/blog/wordpress-category-html-description-plugin">WordPress Category HTML Description plugin</a> appeared first on <a href="https://webcodingstudio.com">WebCodingStudio</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webcodingstudio.com/blog/wordpress-category-html-description-plugin/feed</wfw:commentRss>
			<slash:comments>326</slash:comments>
		
		
			</item>
	</channel>
</rss>
