Showing posts with label Blogger. Show all posts
Showing posts with label Blogger. Show all posts

Wednesday, August 31, 2016

Jquery ile Blogger Üzerinde Facebook Benzeri Odaklanma Uygulaması - Focusing Application like on Facebook with Jquery on Blogger

Bu yazıda yenice facebook'ta karşılaştığım odaklanma uygulamasını blog sayfama nasıl uyguladığımı anlatacağım. Facebook üzerinde durum güncellemesi amacıyla ilgili yazı alanına tıkladığınızda yorum yazılacak yerin dışında kalan kısımların karardığını göreceksiniz. Bu uygulamanın odaklanmada pozitif etkisi olduğu, bu yüzden de bir blog sitesi için de gayet yararlı olacağını düşündüğüm için uygulamayı gerçekleştirme kararı aldım. Öncelikle bir CSS sınıfı tanımlaması yapmamız gerekiyor:

.onFocusMeContainer
{
     background-color:#000000;
     opacity:0.7;
     z-index:12;
     width:100%;
     height:100%;
     position:fixed;  
     top:0;
     left:0;
     display:none;
}

Bu uygulamada bize lazım olan en öncekli element siyah, saydam ve ekranı kaplayan siyah bir elementtir. Bu element bütün ekranı kaplayacak ve odaklama yapacağımız ögenin arkasında, diğer bütün sayfanın üzerinde yer alacaktır. Tabi kırmızı uçan kartalımızın üzerine siyah bir örtü örtmek istemeyeceğimizden dolayı kartalı taşıyan ögenin "z-index" CSS değerini artırdım. "onFocusMeContainer" CSS sınıfında "opacity" değeri ile elemente saydamlık kazandırdık. Elementin "display" özelliğini kullanarak elementi görünmez yapıp, bütün ekranı kaplaması ve pencereyi kaydırdığımız zaman kaymaması için "position" özelliğini "fixed" olarak belirledik. Elementin "z-index" değerini blog için uygun bir değer seçmemiz gerektiği için "12" olarak belirledik, çünkü sitemizin diğer ögelerinin "z-index" değeri 12'den küçüktür. Bu CSS sınıfını oluşturduktan sonra bu sınıfı içeren bir "div" elementini  "body" içine aşağıdaki kod ile ekliyoruz.

<div class="onFocusMeContainer"></div>

Bir sonraki aşamada gerekli fonksiyonaliteyi sağlamak amacıyla bazı javascript kodları tanımlamız gerekiyor.

$(".post-outer").click(function (event) {

   if (lastClicked == null) {

          if (!$(event.target).is("a")) {

               lastClicked = $(event.target);

               while (!$(lastClicked).hasClass("post-outer")) {

                   lastClicked = $(lastClicked).parent();
               }

               $(lastClicked).css("position", "relative");
               $(lastClicked).css("z-index", 5000);
               $(".onFocusMeContainer").show("fast");
          }
    } 
});

$(".onFocusMeContainer").click(function (event) {
   
   $(lastClicked).css("position", "relative");
   $(lastClicked).css("z-index", 0);
   $(".onFocusMeContainer").hide("fast");
   lastClicked = null;
});

Blogger'da yazdığımız makaleler "post-outer" sınıfını içeren bir taşıyıcı kontrol içinde sunulduğu için bu ögenin "click" olayını tanımlamamız gerekiyor. Burada bir döngü aralığıyla "post-outer" sınıfını içeren taşıyıcıya ulaşana kadar "parent" fonksiyonu aracılığıyla DOM üzerine yukarı doğru çıkıyoruz. Bunun sebebi daha önceki bir yazımda bahsettiğim "Event Bubbling" yani olayın yukarı doğru iletilmesi sebebiyledir. Kısaca olayı özetlemek gerekirse, bir taşıyıcı içindeki bir kontrole tıklandığında tıklama olayı en yukarıdaki taşıyıcı elemente kadar iletilmektedir.  Taşıyıcı elementi bulduktan sonra "z-index" özelliğinin çalışması için bu elementin "position" özelliğini "relative" yapmamız gerekiyor. Daha sonra "z-index" değerini büyük bir sayı yaparak elementin yukarıda kalmasını sağlıyoruz. Son aşamada siyah saydam kontrolümüzü görünür hale getiriyoruz. Link ("a") elementlerine tıklandığında ilgili özelliğimiz çalışmaması için "is" fonksiyonunu kullanarak üzerine tıklanan elementin bir "a" elementi olup olmadığını da kontrol etmemiz gerekiyor.

Siyah saydam kontrolümüzün tıklama olayı üzerinde tanımlı fonksiyon aracılığıylada yukarıda yaptığımız düzenlemeleri geri alıyoruz. "lastClicked" değişkeni global olarak tanımlanmıştır ve en son odaklanmış elementi göstermektedir.

Uygulama blog üzerinde şuan aktif olduğu için yazı üzerine tıklayarak uygulamayı deneyimleyebilirsiniz.


Sunday, February 21, 2016

Blogger İçinde Bootstrap Kullanılması - Using Bootstrap in Blogger Template

Blogger içinde Bootstrap özelliklerini kullanmak istiyorsak Bootstrap kurulumunu blog kodlarının içinde yapmamız gerekir. Blogger menüsünden "Şablon" ve daha sonra "HTML'yi Düzenle" kısımlarından aşağıda gösterilen kod bloğuna ulaşınız.



Daha sonra <Head> bloğunun hemen altına aşağıdaki referansları kopyalayınız:

<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css' rel='stylesheet'/>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js'/>
<script src='http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js'/>

Referanslardan da anlaşılabileceği gibi Bootstrap için gerekli olan Bootstrap CSS ve Javascript dosyası ile Jquery bloğa referans olarak eklenmektedir. İlgili referanslar web üzerinde yer aldığı için herhangi bir dosya yükleme işlemine gerek yoktur.

Sunday, January 17, 2016

Blogspot (Blogger) Robot.txt ve Özel Robot Etiket Ayarları - Blogspot (Blogger) Robot.txt and Special Robot Label Configuration

Arama motorlarının blog sitenizi daha içi algılayabilmesi için yani Search Engine Optimization (SEO) için blogger Robot.txt dosyasının ve özel robot etiket ayarlarının değiştirilmesine olanak vermektedir. Blogger sitenizden Şekil 1'de gösterildiği gibi Ayarlar > Arama tercihleri kısmını kullanarak ilgili ayarların bulunduğu yeri açınız.

Şekil 1. Blogger Arama Tercihleri
Daha sonra  Robot.txt ayarlarının yapabilmek için etkinleştiri veya düzenleyi seçiniz. Şekil 2'de görüldüğü gibi ilgili yazı alanına aşağıdaki kodları yapıştırıp kaydediniz. BlogName kısmına kendi blog adınızı yazınız. Sitemap yerine kırmızı olanı da kullanabilirsiniz.

Disallow:
User-agent: *
Disallow: /search
Allow: /
Sitemap: http://BlogName.blogspot.com/sitemap.xml
Sitemap:http://BlogName.blogspot.com/feeds/posts/default?orderby=updated
Sitemap:http://BlogName.blogspot.com.tr/atom.xml?redirect=false&start-index=1&max-results=500

Şekil 2. Robot.txt Ayarları
Son olarak özel robot etiket ayarları kısmını etkinleştir veya düzenle deyip ilgili kısımları Şekil 3'de görüldüğü gibi seçip kaydediniz. Burada yaptığımız ayarlara göre anasayfa, diğer sayfalar ve yayınlar tamamen indexlenecektir. DMOZ dizinine kayıt olmuş sitelerin, dizine kayıt olurken kullandıkları açıklamaların arama sonuçlarında gözükmemesi isteniyorsa "noodp" seçeneği seçilir.

Şekil 3. Özel Robot Etiket Ayarları