diff --git a/__pycache__/pelicanconf.cpython-37.pyc b/__pycache__/pelicanconf.cpython-37.pyc index b6a42db..f44dac3 100644 Binary files a/__pycache__/pelicanconf.cpython-37.pyc and b/__pycache__/pelicanconf.cpython-37.pyc differ diff --git a/content/Notes/blog_in_progress_1.md b/content/Notes/blog_in_progress_1.md new file mode 100644 index 0000000..5679763 --- /dev/null +++ b/content/Notes/blog_in_progress_1.md @@ -0,0 +1,23 @@ +title: Blog in Progress #1 +date: 2020-12-31 12:00 +tags: 100DaysToOffload +summary: Removed Google Fonts dependency to load the page faster and discovered an issue where MP4 viewer won't load video. +status: published +comment: +hundreddaystooffload: 19 + +
+ Under Construction GIF +
+ +I am redesigning this blog's theme piece by piece. But there is a possibility that you will be reading this article after the new theme is applied. So [here is a reference screenshot](images/screenshots/index_full_page_screenshot_w760.webp "Old index page") before new theme is applied. Theme isn't the only change. I have few more changes in mind to extend blog's features and optimize it even further. + +If you want to know how well does this page performed in GTmetrix with old theme, [here is the report](extra/gtmetrix_murtezayesil.me_2020_08_16.pdf) in PDF. + +# Removing Google Font dependency +[Yanone's Kaffeesatz font](https://www.yanone.de/fonts/kaffeesatz/) is beautiful, but it takes almost 300ms to load. Even though it is as small as 20KB, it is something that is not needed. + +Another reason I want to remove it is that, it is embedded through Google Fonts which also loads some Google API code. It would be ironic to not respect my readers while I am going through digital cleansing and de-Googling myself. + +Fun Fact: My IndieWeb profile image is 1024 by 1024 PNG and is 174 KB, around 9 times the Yanone's Kaffesatz font from Google Fonts, but still takes a third less time to download. That being said, it isn't displayed anywhere and shouldn't be loaded unless explicitly wanted. 128x128 would be fine too. 1024x1024 is an overkill for an image that isn't displayed 😬️ + diff --git a/content/draft/digital_cleansing_youtube.md b/content/draft/digital_cleansing_youtube.md new file mode 100644 index 0000000..1b9631a --- /dev/null +++ b/content/draft/digital_cleansing_youtube.md @@ -0,0 +1,8 @@ +title: Digital Cleansing - YouTube +date: 2020-12-31 12:00 +tags: 100DaysToOffload +summary: +status: draft +comment: +hundreddaystooffload: + diff --git a/content/draft/really_simple_syndication.md b/content/draft/really_simple_syndication.md new file mode 100644 index 0000000..ee54ad3 --- /dev/null +++ b/content/draft/really_simple_syndication.md @@ -0,0 +1,8 @@ +title: RSS +date: 2020-08-15 15:23 +tags: 100DaysToOffload +summary: +status: draft +comment: +hundreddaystooffload: + diff --git a/content/extra/gtmetrix_murtezayesil.me_2020_08_16.pdf b/content/extra/gtmetrix_murtezayesil.me_2020_08_16.pdf new file mode 100644 index 0000000..e0fad3c Binary files /dev/null and b/content/extra/gtmetrix_murtezayesil.me_2020_08_16.pdf differ diff --git a/content/images/avatar_polygon_1.png b/content/images/avatar_polygon_1024x1024.png similarity index 100% rename from content/images/avatar_polygon_1.png rename to content/images/avatar_polygon_1024x1024.png diff --git a/content/images/avatar_polygon_128x128.png b/content/images/avatar_polygon_128x128.png new file mode 100644 index 0000000..e9e04bd Binary files /dev/null and b/content/images/avatar_polygon_128x128.png differ diff --git a/content/images/avatar_polygon_256x256.png b/content/images/avatar_polygon_256x256.png new file mode 100644 index 0000000..5a4d8a6 Binary files /dev/null and b/content/images/avatar_polygon_256x256.png differ diff --git a/content/images/avatar_polygon_512x512.png b/content/images/avatar_polygon_512x512.png new file mode 100644 index 0000000..b2e23bd Binary files /dev/null and b/content/images/avatar_polygon_512x512.png differ diff --git a/content/images/gifs/construction_progress_bar.gif b/content/images/gifs/construction_progress_bar.gif new file mode 100644 index 0000000..b07ae29 Binary files /dev/null and b/content/images/gifs/construction_progress_bar.gif differ diff --git a/content/images/screenshots/index_full_page_screenshot_w760.webp b/content/images/screenshots/index_full_page_screenshot_w760.webp new file mode 100644 index 0000000..5f27254 Binary files /dev/null and b/content/images/screenshots/index_full_page_screenshot_w760.webp differ diff --git a/output/archives.html b/output/archives.html index c82bb57..524a756 100644 --- a/output/archives.html +++ b/output/archives.html @@ -51,6 +51,8 @@

Archives for Ali Murteza Yesil

+
Thu 31 December 2020
+
Blog in Progress #1
Thu 13 August 2020
Resizing 2500 photos
Tue 11 August 2020
diff --git a/output/author/ali-murteza-yesil.html b/output/author/ali-murteza-yesil.html index a91280b..a1c63fe 100644 --- a/output/author/ali-murteza-yesil.html +++ b/output/author/ali-murteza-yesil.html @@ -50,106 +50,43 @@ +
+

Other articles

+
    + +
  1. +
    +

    Resizing 2500 photos

    +
    + +

    I was asked to write a program to resize thousands of images which were gonna be uploaded to a website. Images had to be the same height for them to look organized in gallery. I remembered how I used imagemagick to write desktop-clock, immitate tty-clock on wallpaper. That experience helped me to design the program in my mind as we continue to speak on the phone.

    -
    /‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾\ 
    -| for each image            |
    -|   do resize to height=800 |
    -\___________________________/ 
    -  O
    -    o  \_\_    _/_/
    -      .    \__/
    -           (oo)\_______
    -           (__)\       )\/\
    -               ||----w |
    -               ||     ||
    -
    - - -

    This is a learning opportunity

    -

    Since I don't have much of an experience on shell scripting, I was Ducking everything. I learned to do few things during this task.

    -
      -
    1. For loops in shell script
    2. -
    3. Getting list of files
    4. -
    5. Correct syntax for resizing with ImageMagick
    6. -
    -

    After reading tutorials and looking at examples everything felt as simple as lego. I just needed to put them together.

    -

    Here is image_shrinker.v0.1_alpha.sh :

    -
    #!/bin/sh
    -mkdir ../output
    -for image in ./*
    -do
    -    convert $image -scale 1000000x800 ../output/$image
    -done
    -
    - - -

    This version has problems which I can't call "feature" 😁️ :

    -
      -
    1. Resolution is hard coded. Btw, only way to define resolution is in WIDTHxHEIGHT format AFAIK.
    2. -
    3. Script must be in same directory as images
    4. -
    5. PWD must point to the directory where script is
    6. -
    -

    Adjustable resolution

    -
    #!/bin/sh
    -mkdir ../output
    -WIDTH=$1 ; HEIGHT=$2
    -
    -for image in ./*
    -do
    -    convert $image -scale $WIDTHx$HEIGHT ../output/$image
    -done
    -
    - - -

    This fixes the hard coded resolution problem but new problem is that the user has to know that WIDTH and HEIGHT must be given. I fix that by showing correct syntax to the user and then exiting :

    -
    #!/bin/sh
    -
    -if [ $# -lt 2 ]
    -then
    -    echo "USAGE:"
    -    echo -e "\t\$IMAGE_DIRECTORY/image_shrinker.sh WIDTH HEIGHT"
    -    exit 1
    -fi
    -
    -WIDTH=$1 ; HEIGHT=$2
    -mkdir ../output
    -
    -for image in *
    -do
    -    convert $image -scale $Resolution ../output/$image
    -done
    -
    - - -

    Here is some other attempt to make code a bit more flexible in terms of where images can be and where output can go. Actually no but that is what I was going for 😜️

    -
    #!/bin/sh
    -
    -DIR=`pwd`
    -
    -for image in ./*.*
    -do
    -#   Below code will scale images to 800px height without breaking aspect ratio
    -    convert $DIR/$image -scale 10000x800 -write $DIR/../output/$image
    -done
    -
    - - -

    It is hard to ask for help (especially after torturing with my code) but if you would like to give me feedback and advice, reply to toot of this post.

    -
    -

    Comments

    -

    Toot on this thread to comment. This blog is a static site. Comments won't appear here.

    -
    - -
    -

    Other articles

    -
      + +
    1. @@ -276,22 +213,6 @@ mkdir ../output | tags: 100DaysToOffload | Day 10 of #100DaysToOffload - -
    2. - -
    diff --git a/output/author/ali-murteza-yesil2.html b/output/author/ali-murteza-yesil2.html index cd0bb8a..99e9264 100644 --- a/output/author/ali-murteza-yesil2.html +++ b/output/author/ali-murteza-yesil2.html @@ -50,6 +50,22 @@
      +
    1. +
    2. -

      Authors on Ali Murteza Yesil

    3. Ali Murteza Yesil (18)
    4. +

      Authors on Ali Murteza Yesil

    5. Ali Murteza Yesil (19)
    6. diff --git a/output/blog-in-progress-1.html b/output/blog-in-progress-1.html new file mode 100644 index 0000000..a540bfe --- /dev/null +++ b/output/blog-in-progress-1.html @@ -0,0 +1,139 @@ + + + + + Blog in Progress #1 + + + + + + + + + + + + + + + +
      +
      +
      +

      + Blog in Progress #1

      +
      + +
      +
      + Under Construction GIF +
      + +

      I am redesigning this blog's theme piece by piece. But there is a possibility that you will be reading this article after the new theme is applied. So here is a reference screenshot before new theme is applied. Theme isn't the only change. I have few more changes in mind to extend blog's features and optimize it even further.

      +

      If you want to know how well does this page performed in GTmetrix with old theme, here is the report in PDF.

      +

      Removing Google Font dependency

      +

      Yanone's Kaffeesatz font is beautiful, but it takes almost 300ms to load. Even though it is as small as 20KB, it is something that is not needed.

      +

      Another reason I want to remove it is that, it is embedded through Google Fonts which also loads some Google API code. It would be ironic to not respect my readers while I am going through digital cleansing and de-Googling myself.

      +

      Fun Fact: My IndieWeb profile image is 1024 by 1024 PNG and is 174 KB, around 9 times the Yanone's Kaffesatz font from Google Fonts, but still takes a third less time to download. That being said, it isn't displayed anywhere and shouldn't be loaded unless explicitly wanted. 128x128 would be fine too. 1024x1024 is an overkill for an image that isn't displayed 😬️

      +
      + + +

      Day 19 of #100DaysToOffload

      + + + +
      +
      +
      +
      +

      blogroll

      + +
      + +
      + + + + + + + + + + + \ No newline at end of file diff --git a/output/categories.html b/output/categories.html index 384467f..594c5fd 100644 --- a/output/categories.html +++ b/output/categories.html @@ -49,7 +49,7 @@

      Categories on Ali Murteza Yesil

      diff --git a/output/category/notes.html b/output/category/notes.html index f3ab871..c1ddef5 100644 --- a/output/category/notes.html +++ b/output/category/notes.html @@ -50,34 +50,43 @@ +
      +

      Other articles

      +
        + +
      1. +
        +

        Deleting Amazon account

        +
        + +

        I call it "deleting account", Amazon calls it "closing account". I used them interchangibly in this post.

        -

        If you set your mind to delete (or close) your account, don't let too many steps discourage you. I understand that some people run their businesses on AWS and deleting their Amazon account will also delete AWS servers connected to that account. Amazon has given me 2 warnings about it and accepted to delete my account anyway. I wasn't invested in Amazon ecosystem and never used AWS anyway.

        -

        According my experience, here are the steps you may need to go through:

        -
          -
        1. Click on Help in the page footer and search for "close account".
        2. -
        3. You will be presented with an article that warns you about Amazon services you will lose access to. Read and make sure you stopped using those services already.
        4. -
        5. There is "Note: To close your account, please Contact Us to request that your account be closed." at the very end of the help page. Click on "Contact Us" to continue.
        6. -
        7. If not yet logged in you will be asked to, login. Choose email for communication. There is also an option to call but I don't know how would that go since I don't live in US or Canada.
        8. -
        9. They will send the same help article with a bit more information and links to make sure you stopped using everything such as AWS, Alexa, Kindle Publishing, Prime video, Amazon Music etc. Near the end of email you will see "If you still want to close your Amazon.com account after reviewing the items above, please click this link and state that you want to close your account: Some Link", click on the link.
        10. -
        11. It will open a page with a text box. Write why you want to close your account and submit. If you are not sure what to write and also feeling adventurous, you can copy paste this link : https://www.youtube.com/watch?v=dQw4w9WgXcQ
        12. -
        13. They will email you within 24 hours either for more instructions or to tell you that your account is closed.
        14. -
        -

        Note: Depending on where you live or how many Amazon services you used, you may need to go through more steps.

        -
        -

        Comments

        -

        Toot on this thread to comment. This blog is a static site. Comments won't appear here.

        -
        - -
        -

        Other articles

        -
          + +
    7. diff --git a/output/drafts/digital-cleansing-youtube.html b/output/drafts/digital-cleansing-youtube.html new file mode 100644 index 0000000..cfc778a --- /dev/null +++ b/output/drafts/digital-cleansing-youtube.html @@ -0,0 +1,127 @@ + + + + + Digital Cleansing - YouTube + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      blogroll

      + +
      + +
      + + + + + + + + + + + \ No newline at end of file diff --git a/output/drafts/rss.html b/output/drafts/rss.html new file mode 100644 index 0000000..7271763 --- /dev/null +++ b/output/drafts/rss.html @@ -0,0 +1,127 @@ + + + + + RSS + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      blogroll

      + +
      + +
      + + + + + + + + + + + \ No newline at end of file diff --git a/output/extra/gtmetrix_murtezayesil.me_2020_08_16.pdf b/output/extra/gtmetrix_murtezayesil.me_2020_08_16.pdf new file mode 100644 index 0000000..e0fad3c Binary files /dev/null and b/output/extra/gtmetrix_murtezayesil.me_2020_08_16.pdf differ diff --git a/output/feeds/atom.xml b/output/feeds/atom.xml index f9e1b75..bd11c5d 100644 --- a/output/feeds/atom.xml +++ b/output/feeds/atom.xml @@ -1,5 +1,14 @@ -Ali Murteza Yesilhttps://murtezayesil.me/2020-08-13T07:19:00+06:00BlogResizing 2500 photos2020-08-13T07:19:00+06:002020-08-13T07:19:00+06:00Ali Murteza Yesiltag:murtezayesil.me,2020-08-13:/resizing-2500-photos.html<p>We needed to resize 2500 photographs for a website. There is a shell script for that.</p><p>I was asked to write a program to resize thousands of images which were gonna be uploaded to a website. Images had to be the same height for them to look organized in gallery. I remembered how I used <a href="https://imagemagick.org/">imagemagick</a> to write <a href="https://gitlab.com/murtezayesil/student/-/tree/master/sh/desktop-clock" title="use imagemagick, figlet and feh for tty-clock on wallpaper">desktop-clock</a>, immitate tty-clock on wallpaper. That experience helped me to design the program in my mind as we continue to speak on the phone.</p> +Ali Murteza Yesilhttps://murtezayesil.me/2020-12-31T12:00:00+06:00BlogBlog in Progress #12020-12-31T12:00:00+06:002020-12-31T12:00:00+06:00Ali Murteza Yesiltag:murtezayesil.me,2020-12-31:/blog-in-progress-1.html<p>Removed Google Fonts dependency to load the page faster and discovered an issue where MP4 viewer won't load video.</p><div style="text-align: center;"> + <img src="images/gifs/construction_progress_bar.gif" alt="Under Construction GIF"> +</div> + +<p>I am redesigning this blog's theme piece by piece. But there is a possibility that you will be reading this article after the new theme is applied. So <a href="images/screenshots/index_full_page_screenshot_w760.webp" title="Old index page">here is a reference screenshot</a> before new theme is applied. Theme isn't the only change. I have few more changes in mind to extend blog's features and optimize it even further.</p> +<p>If you want to know how well does this page performed in GTmetrix with old theme, <a href="extra/gtmetrix_murtezayesil.me_2020_08_16.pdf">here is the report</a> in PDF.</p> +<h1>Removing Google Font dependency</h1> +<p><a href="https://www.yanone.de/fonts/kaffeesatz/">Yanone's Kaffeesatz font</a> is beautiful, but it takes almost 300ms to load. Even though it is as small as 20KB, it is something that is not needed.</p> +<p>Another reason I want to remove it is that, it is embedded through Google Fonts which also loads some Google API code. It would be ironic to not respect my readers while I am going through digital cleansing and de-Googling myself.</p> +<p>Fun Fact: My IndieWeb profile image is 1024 by 1024 PNG and is 174 KB, around 9 times the Yanone's Kaffesatz font from Google Fonts, but still takes a third less time to download. That being said, it isn't displayed anywhere and shouldn't be loaded unless explicitly wanted. 128x128 would be fine too. 1024x1024 is an overkill for an image that isn't displayed 😬️</p>Resizing 2500 photos2020-08-13T07:19:00+06:002020-08-13T07:19:00+06:00Ali Murteza Yesiltag:murtezayesil.me,2020-08-13:/resizing-2500-photos.html<p>We needed to resize 2500 photographs for a website. There is a shell script for that.</p><p>I was asked to write a program to resize thousands of images which were gonna be uploaded to a website. Images had to be the same height for them to look organized in gallery. I remembered how I used <a href="https://imagemagick.org/">imagemagick</a> to write <a href="https://gitlab.com/murtezayesil/student/-/tree/master/sh/desktop-clock" title="use imagemagick, figlet and feh for tty-clock on wallpaper">desktop-clock</a>, immitate tty-clock on wallpaper. That experience helped me to design the program in my mind as we continue to speak on the phone.</p> <div class="highlight"><pre><span></span><code>/‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾<span class="se">\ </span> <span class="p">|</span> <span class="k">for</span> each image <span class="p">|</span> <span class="p">|</span> <span class="k">do</span> resize to <span class="nv">height</span><span class="o">=</span><span class="m">800</span> <span class="p">|</span> diff --git a/output/feeds/notes.atom.xml b/output/feeds/notes.atom.xml index 5ab9fa5..801f5b6 100644 --- a/output/feeds/notes.atom.xml +++ b/output/feeds/notes.atom.xml @@ -1,5 +1,14 @@ -Ali Murteza Yesil - Noteshttps://murtezayesil.me/2020-07-26T21:15:00+06:00BlogDeleting Amazon account2020-07-26T21:15:00+06:002020-07-26T21:15:00+06:00Ali Murteza Yesiltag:murtezayesil.me,2020-07-26:/deleting-amazon-account.html<p>Deleting Amazon account has more steps (friction) than I would like. But not impossible.</p><p>I call it "deleting account", Amazon calls it "closing account". I used them interchangibly in this post.</p> +Ali Murteza Yesil - Noteshttps://murtezayesil.me/2020-12-31T12:00:00+06:00BlogBlog in Progress #12020-12-31T12:00:00+06:002020-12-31T12:00:00+06:00Ali Murteza Yesiltag:murtezayesil.me,2020-12-31:/blog-in-progress-1.html<p>Removed Google Fonts dependency to load the page faster and discovered an issue where MP4 viewer won't load video.</p><div style="text-align: center;"> + <img src="images/gifs/construction_progress_bar.gif" alt="Under Construction GIF"> +</div> + +<p>I am redesigning this blog's theme piece by piece. But there is a possibility that you will be reading this article after the new theme is applied. So <a href="images/screenshots/index_full_page_screenshot_w760.webp" title="Old index page">here is a reference screenshot</a> before new theme is applied. Theme isn't the only change. I have few more changes in mind to extend blog's features and optimize it even further.</p> +<p>If you want to know how well does this page performed in GTmetrix with old theme, <a href="extra/gtmetrix_murtezayesil.me_2020_08_16.pdf">here is the report</a> in PDF.</p> +<h1>Removing Google Font dependency</h1> +<p><a href="https://www.yanone.de/fonts/kaffeesatz/">Yanone's Kaffeesatz font</a> is beautiful, but it takes almost 300ms to load. Even though it is as small as 20KB, it is something that is not needed.</p> +<p>Another reason I want to remove it is that, it is embedded through Google Fonts which also loads some Google API code. It would be ironic to not respect my readers while I am going through digital cleansing and de-Googling myself.</p> +<p>Fun Fact: My IndieWeb profile image is 1024 by 1024 PNG and is 174 KB, around 9 times the Yanone's Kaffesatz font from Google Fonts, but still takes a third less time to download. That being said, it isn't displayed anywhere and shouldn't be loaded unless explicitly wanted. 128x128 would be fine too. 1024x1024 is an overkill for an image that isn't displayed 😬️</p>Deleting Amazon account2020-07-26T21:15:00+06:002020-07-26T21:15:00+06:00Ali Murteza Yesiltag:murtezayesil.me,2020-07-26:/deleting-amazon-account.html<p>Deleting Amazon account has more steps (friction) than I would like. But not impossible.</p><p>I call it "deleting account", Amazon calls it "closing account". I used them interchangibly in this post.</p> <p>If you set your mind to delete (or close) your account, don't let too many steps discourage you. I understand that some people run their businesses on AWS and deleting their Amazon account will also delete AWS servers connected to that account. Amazon has given me 2 warnings about it and accepted to delete my account anyway. I wasn't invested in Amazon ecosystem and never used AWS anyway.</p> <p>According my experience, here are the steps you may need to go through:</p> <ol> diff --git a/output/feeds/rss.xml b/output/feeds/rss.xml index b83dff8..61d919f 100644 --- a/output/feeds/rss.xml +++ b/output/feeds/rss.xml @@ -1,2 +1,2 @@ -Ali Murteza Yesilhttps://murtezayesil.me/BlogThu, 13 Aug 2020 07:19:00 +0600Resizing 2500 photoshttps://murtezayesil.me/resizing-2500-photos.html<p>We needed to resize 2500 photographs for a website. There is a shell script for that.</p>Ali Murteza YesilThu, 13 Aug 2020 07:19:00 +0600tag:murtezayesil.me,2020-08-13:/resizing-2500-photos.htmlTechcode100DaysToOffloadSwitching to Bluetooth earphoneshttps://murtezayesil.me/switching-to-bluetooth-earphones.html<p>After I droped my phone and broke its headphone jack, I had to switch to bluetooth earphone. Redmi Airdots is my choice thanks to its price.</p>Ali Murteza YesilTue, 11 Aug 2020 18:29:00 +0600tag:murtezayesil.me,2020-08-11:/switching-to-bluetooth-earphones.htmlPersonal100DaysToOffloadYet Another Last Hop Attempthttps://murtezayesil.me/yet-another-last-hop-attempt.html<p>Solus 4.1 was one of the best polished experiences I had. I hope it continues that way and I don't feel the need for a hop.</p>Ali Murteza YesilSun, 09 Aug 2020 22:00:00 +0600tag:murtezayesil.me,2020-08-09:/yet-another-last-hop-attempt.htmlPersonaldistros100DaysToOffloadMy Linux Journeyhttps://murtezayesil.me/my-linux-journey.html<p>Like many other distro hoppers, I tried many distros. Solus was one of the best polished experiences. That is not to say it is perfect.</p>Ali Murteza YesilFri, 07 Aug 2020 23:59:00 +0600tag:murtezayesil.me,2020-08-07:/my-linux-journey.htmlPersonaldistros100DaysToOffloadMarble League 2020https://murtezayesil.me/marble-league-2020.html<p>I am not like interested in sports. But I find Jelle's Marble Runs silly. That is a solid reason to love something 😅️</p>Ali Murteza YesilWed, 05 Aug 2020 11:11:00 +0600tag:murtezayesil.me,2020-08-05:/marble-league-2020.htmlPersonal100DaysToOffloadDigital Cleansing - Musichttps://murtezayesil.me/digital-cleansing-music.html<p>There aren't many options to buy DRM free music, are there!</p>Ali Murteza YesilMon, 03 Aug 2020 15:00:00 +0600tag:murtezayesil.me,2020-08-03:/digital-cleansing-music.htmlTechdigitalcleansingmusic100DaysToOffloadSwap on SSD done righthttps://murtezayesil.me/swap-on-ssd-done-right.html<p>SSDs are fragile and swaps can be damaging. But they can live happily together.</p>Ali Murteza YesilSat, 01 Aug 2020 12:00:00 +0600tag:murtezayesil.me,2020-08-01:/swap-on-ssd-done-right.htmlTech100DaysToOffloadSilent Rage Quitshttps://murtezayesil.me/silent-rage-quits.html<p>nobody saw it coming</p>Ali Murteza YesilThu, 30 Jul 2020 16:49:00 +0600tag:murtezayesil.me,2020-07-30:/silent-rage-quits.htmlPersonal100DaysToOffloadDecentralized Internet is More Reliablehttps://murtezayesil.me/decentralized-internet-is-more-reliable.html<p>Every system is prone to failure and will face down time. Decentralization avoids total system failure.</p>Ali Murteza YesilTue, 28 Jul 2020 12:00:00 +0600tag:murtezayesil.me,2020-07-28:/decentralized-internet-is-more-reliable.htmlTech100DaysToOffloadDeleting Amazon accounthttps://murtezayesil.me/deleting-amazon-account.html<p>Deleting Amazon account has more steps (friction) than I would like. But not impossible.</p>Ali Murteza YesilSun, 26 Jul 2020 21:15:00 +0600tag:murtezayesil.me,2020-07-26:/deleting-amazon-account.htmlNotes100DaysToOffloadDigital Cleansing - Mastodonhttps://murtezayesil.me/digital-cleansing-mastodon.html<p>Centralized microblogging platforms are rich in user data and attractive to cyber criminals. I recommend decentralized alternatives.</p>Ali Murteza YesilFri, 24 Jul 2020 15:23:00 +0600tag:murtezayesil.me,2020-07-24:/digital-cleansing-mastodon.htmlTechdigitalcleansingprivacyfediverse100DaysToOffload$ADB_VENDOR_KEYS is not sethttps://murtezayesil.me/adb_vendor_keys-is-not-set.html<p>Authorizing adb when no prompt will come, the hard way.</p>Ali Murteza YesilWed, 22 Jul 2020 00:00:00 +0600tag:murtezayesil.me,2020-07-22:/adb_vendor_keys-is-not-set.htmlNotesandroidproblem100DaysToOffloadFizzBuzz with single semicolonhttps://murtezayesil.me/fizzbuzz-with-single-semicolon.html<p>Attempt to write an eccentric FizzBuzz program with as few semicolon as possible.</p>Ali Murteza YesilMon, 20 Jul 2020 00:00:00 +0600tag:murtezayesil.me,2020-07-20:/fizzbuzz-with-single-semicolon.htmlNotescode100DaysToOffloadDigital Cleansing - Jitsihttps://murtezayesil.me/digital-cleansing-jitsi.html<p>My family and relatives live different countries and make good use of video calling services regardless of who is offering the service</p>Ali Murteza YesilSat, 18 Jul 2020 00:00:00 +0600tag:murtezayesil.me,2020-07-18:/digital-cleansing-jitsi.htmlTechdigitalcleansingprivacyjitsi100DaysToOffloadDigital Cleansing - NextCloudhttps://murtezayesil.me/digital-cleansing-nextcloud.html<p>NextCloud has 4 things going for me. It is FOSS, it gives me control, it is convenient and it works.</p>Ali Murteza YesilThu, 16 Jul 2020 10:00:00 +0600tag:murtezayesil.me,2020-07-16:/digital-cleansing-nextcloud.htmlTechdigitalcleansingprivacynextcloud100DaysToOffloadDigital Cleansing - Identifying services we usehttps://murtezayesil.me/digital-cleansing-identifying-services-we-use.html<p>Step 1 of digital cleansing is identifying services I want to drop</p>Ali Murteza YesilTue, 14 Jul 2020 03:40:00 +0600tag:murtezayesil.me,2020-07-14:/digital-cleansing-identifying-services-we-use.htmlTechdigitalcleansingprivacy100daystooffloadDigital Cleansing For Better Privacyhttps://murtezayesil.me/digital-cleansing-for-better-privacy.html<p>I am documenting my journey to claiming my digital freedom. Previously called "My Master Plan For Privacy (of my family)".</p>Ali Murteza YesilSun, 12 Jul 2020 00:07:00 +0600tag:murtezayesil.me,2020-07-12:/digital-cleansing-for-better-privacy.htmlTechdigitalcleansingprivacy100DaysToOffloadPrivacy For The Whole Familyhttps://murtezayesil.me/privacy-for-the-whole-family.html<p>My story of learning about wounds in my privacy and my first steps to cure it, helping my family for the same too.</p>Ali Murteza YesilFri, 10 Jul 2020 11:18:00 +0600tag:murtezayesil.me,2020-07-10:/privacy-for-the-whole-family.htmlTechprivacynextcloudself-hosting100DaysToOffload \ No newline at end of file +Ali Murteza Yesilhttps://murtezayesil.me/BlogThu, 31 Dec 2020 12:00:00 +0600Blog in Progress #1https://murtezayesil.me/blog-in-progress-1.html<p>Removed Google Fonts dependency to load the page faster and discovered an issue where MP4 viewer won't load video.</p>Ali Murteza YesilThu, 31 Dec 2020 12:00:00 +0600tag:murtezayesil.me,2020-12-31:/blog-in-progress-1.htmlNotes100DaysToOffloadResizing 2500 photoshttps://murtezayesil.me/resizing-2500-photos.html<p>We needed to resize 2500 photographs for a website. There is a shell script for that.</p>Ali Murteza YesilThu, 13 Aug 2020 07:19:00 +0600tag:murtezayesil.me,2020-08-13:/resizing-2500-photos.htmlTechcode100DaysToOffloadSwitching to Bluetooth earphoneshttps://murtezayesil.me/switching-to-bluetooth-earphones.html<p>After I droped my phone and broke its headphone jack, I had to switch to bluetooth earphone. Redmi Airdots is my choice thanks to its price.</p>Ali Murteza YesilTue, 11 Aug 2020 18:29:00 +0600tag:murtezayesil.me,2020-08-11:/switching-to-bluetooth-earphones.htmlPersonal100DaysToOffloadYet Another Last Hop Attempthttps://murtezayesil.me/yet-another-last-hop-attempt.html<p>Solus 4.1 was one of the best polished experiences I had. I hope it continues that way and I don't feel the need for a hop.</p>Ali Murteza YesilSun, 09 Aug 2020 22:00:00 +0600tag:murtezayesil.me,2020-08-09:/yet-another-last-hop-attempt.htmlPersonaldistros100DaysToOffloadMy Linux Journeyhttps://murtezayesil.me/my-linux-journey.html<p>Like many other distro hoppers, I tried many distros. Solus was one of the best polished experiences. That is not to say it is perfect.</p>Ali Murteza YesilFri, 07 Aug 2020 23:59:00 +0600tag:murtezayesil.me,2020-08-07:/my-linux-journey.htmlPersonaldistros100DaysToOffloadMarble League 2020https://murtezayesil.me/marble-league-2020.html<p>I am not like interested in sports. But I find Jelle's Marble Runs silly. That is a solid reason to love something 😅️</p>Ali Murteza YesilWed, 05 Aug 2020 11:11:00 +0600tag:murtezayesil.me,2020-08-05:/marble-league-2020.htmlPersonal100DaysToOffloadDigital Cleansing - Musichttps://murtezayesil.me/digital-cleansing-music.html<p>There aren't many options to buy DRM free music, are there!</p>Ali Murteza YesilMon, 03 Aug 2020 15:00:00 +0600tag:murtezayesil.me,2020-08-03:/digital-cleansing-music.htmlTechdigitalcleansingmusic100DaysToOffloadSwap on SSD done righthttps://murtezayesil.me/swap-on-ssd-done-right.html<p>SSDs are fragile and swaps can be damaging. But they can live happily together.</p>Ali Murteza YesilSat, 01 Aug 2020 12:00:00 +0600tag:murtezayesil.me,2020-08-01:/swap-on-ssd-done-right.htmlTech100DaysToOffloadSilent Rage Quitshttps://murtezayesil.me/silent-rage-quits.html<p>nobody saw it coming</p>Ali Murteza YesilThu, 30 Jul 2020 16:49:00 +0600tag:murtezayesil.me,2020-07-30:/silent-rage-quits.htmlPersonal100DaysToOffloadDecentralized Internet is More Reliablehttps://murtezayesil.me/decentralized-internet-is-more-reliable.html<p>Every system is prone to failure and will face down time. Decentralization avoids total system failure.</p>Ali Murteza YesilTue, 28 Jul 2020 12:00:00 +0600tag:murtezayesil.me,2020-07-28:/decentralized-internet-is-more-reliable.htmlTech100DaysToOffloadDeleting Amazon accounthttps://murtezayesil.me/deleting-amazon-account.html<p>Deleting Amazon account has more steps (friction) than I would like. But not impossible.</p>Ali Murteza YesilSun, 26 Jul 2020 21:15:00 +0600tag:murtezayesil.me,2020-07-26:/deleting-amazon-account.htmlNotes100DaysToOffloadDigital Cleansing - Mastodonhttps://murtezayesil.me/digital-cleansing-mastodon.html<p>Centralized microblogging platforms are rich in user data and attractive to cyber criminals. I recommend decentralized alternatives.</p>Ali Murteza YesilFri, 24 Jul 2020 15:23:00 +0600tag:murtezayesil.me,2020-07-24:/digital-cleansing-mastodon.htmlTechdigitalcleansingprivacyfediverse100DaysToOffload$ADB_VENDOR_KEYS is not sethttps://murtezayesil.me/adb_vendor_keys-is-not-set.html<p>Authorizing adb when no prompt will come, the hard way.</p>Ali Murteza YesilWed, 22 Jul 2020 00:00:00 +0600tag:murtezayesil.me,2020-07-22:/adb_vendor_keys-is-not-set.htmlNotesandroidproblem100DaysToOffloadFizzBuzz with single semicolonhttps://murtezayesil.me/fizzbuzz-with-single-semicolon.html<p>Attempt to write an eccentric FizzBuzz program with as few semicolon as possible.</p>Ali Murteza YesilMon, 20 Jul 2020 00:00:00 +0600tag:murtezayesil.me,2020-07-20:/fizzbuzz-with-single-semicolon.htmlNotescode100DaysToOffloadDigital Cleansing - Jitsihttps://murtezayesil.me/digital-cleansing-jitsi.html<p>My family and relatives live different countries and make good use of video calling services regardless of who is offering the service</p>Ali Murteza YesilSat, 18 Jul 2020 00:00:00 +0600tag:murtezayesil.me,2020-07-18:/digital-cleansing-jitsi.htmlTechdigitalcleansingprivacyjitsi100DaysToOffloadDigital Cleansing - NextCloudhttps://murtezayesil.me/digital-cleansing-nextcloud.html<p>NextCloud has 4 things going for me. It is FOSS, it gives me control, it is convenient and it works.</p>Ali Murteza YesilThu, 16 Jul 2020 10:00:00 +0600tag:murtezayesil.me,2020-07-16:/digital-cleansing-nextcloud.htmlTechdigitalcleansingprivacynextcloud100DaysToOffloadDigital Cleansing - Identifying services we usehttps://murtezayesil.me/digital-cleansing-identifying-services-we-use.html<p>Step 1 of digital cleansing is identifying services I want to drop</p>Ali Murteza YesilTue, 14 Jul 2020 03:40:00 +0600tag:murtezayesil.me,2020-07-14:/digital-cleansing-identifying-services-we-use.htmlTechdigitalcleansingprivacy100daystooffloadDigital Cleansing For Better Privacyhttps://murtezayesil.me/digital-cleansing-for-better-privacy.html<p>I am documenting my journey to claiming my digital freedom. Previously called "My Master Plan For Privacy (of my family)".</p>Ali Murteza YesilSun, 12 Jul 2020 00:07:00 +0600tag:murtezayesil.me,2020-07-12:/digital-cleansing-for-better-privacy.htmlTechdigitalcleansingprivacy100DaysToOffloadPrivacy For The Whole Familyhttps://murtezayesil.me/privacy-for-the-whole-family.html<p>My story of learning about wounds in my privacy and my first steps to cure it, helping my family for the same too.</p>Ali Murteza YesilFri, 10 Jul 2020 11:18:00 +0600tag:murtezayesil.me,2020-07-10:/privacy-for-the-whole-family.htmlTechprivacynextcloudself-hosting100DaysToOffload \ No newline at end of file diff --git a/output/images/avatar_polygon_1.png b/output/images/avatar_polygon_1024x1024.png similarity index 100% rename from output/images/avatar_polygon_1.png rename to output/images/avatar_polygon_1024x1024.png diff --git a/output/images/avatar_polygon_128x128.png b/output/images/avatar_polygon_128x128.png new file mode 100644 index 0000000..e9e04bd Binary files /dev/null and b/output/images/avatar_polygon_128x128.png differ diff --git a/output/images/avatar_polygon_256x256.png b/output/images/avatar_polygon_256x256.png new file mode 100644 index 0000000..5a4d8a6 Binary files /dev/null and b/output/images/avatar_polygon_256x256.png differ diff --git a/output/images/avatar_polygon_512x512.png b/output/images/avatar_polygon_512x512.png new file mode 100644 index 0000000..b2e23bd Binary files /dev/null and b/output/images/avatar_polygon_512x512.png differ diff --git a/output/images/gifs/construction_progress_bar.gif b/output/images/gifs/construction_progress_bar.gif new file mode 100644 index 0000000..b07ae29 Binary files /dev/null and b/output/images/gifs/construction_progress_bar.gif differ diff --git a/output/images/screenshots/index_full_page_screenshot_w760.webp b/output/images/screenshots/index_full_page_screenshot_w760.webp new file mode 100644 index 0000000..5f27254 Binary files /dev/null and b/output/images/screenshots/index_full_page_screenshot_w760.webp differ diff --git a/output/index.html b/output/index.html index 2b447a2..f0163d9 100644 --- a/output/index.html +++ b/output/index.html @@ -50,106 +50,43 @@ +
      +

      Other articles

      +
        + +
      1. +
        +

        Resizing 2500 photos

        +
        + +

        I was asked to write a program to resize thousands of images which were gonna be uploaded to a website. Images had to be the same height for them to look organized in gallery. I remembered how I used imagemagick to write desktop-clock, immitate tty-clock on wallpaper. That experience helped me to design the program in my mind as we continue to speak on the phone.

        -
        /‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾\ 
        -| for each image            |
        -|   do resize to height=800 |
        -\___________________________/ 
        -  O
        -    o  \_\_    _/_/
        -      .    \__/
        -           (oo)\_______
        -           (__)\       )\/\
        -               ||----w |
        -               ||     ||
        -
        - - -

        This is a learning opportunity

        -

        Since I don't have much of an experience on shell scripting, I was Ducking everything. I learned to do few things during this task.

        -
          -
        1. For loops in shell script
        2. -
        3. Getting list of files
        4. -
        5. Correct syntax for resizing with ImageMagick
        6. -
        -

        After reading tutorials and looking at examples everything felt as simple as lego. I just needed to put them together.

        -

        Here is image_shrinker.v0.1_alpha.sh :

        -
        #!/bin/sh
        -mkdir ../output
        -for image in ./*
        -do
        -    convert $image -scale 1000000x800 ../output/$image
        -done
        -
        - - -

        This version has problems which I can't call "feature" 😁️ :

        -
          -
        1. Resolution is hard coded. Btw, only way to define resolution is in WIDTHxHEIGHT format AFAIK.
        2. -
        3. Script must be in same directory as images
        4. -
        5. PWD must point to the directory where script is
        6. -
        -

        Adjustable resolution

        -
        #!/bin/sh
        -mkdir ../output
        -WIDTH=$1 ; HEIGHT=$2
        -
        -for image in ./*
        -do
        -    convert $image -scale $WIDTHx$HEIGHT ../output/$image
        -done
        -
        - - -

        This fixes the hard coded resolution problem but new problem is that the user has to know that WIDTH and HEIGHT must be given. I fix that by showing correct syntax to the user and then exiting :

        -
        #!/bin/sh
        -
        -if [ $# -lt 2 ]
        -then
        -    echo "USAGE:"
        -    echo -e "\t\$IMAGE_DIRECTORY/image_shrinker.sh WIDTH HEIGHT"
        -    exit 1
        -fi
        -
        -WIDTH=$1 ; HEIGHT=$2
        -mkdir ../output
        -
        -for image in *
        -do
        -    convert $image -scale $Resolution ../output/$image
        -done
        -
        - - -

        Here is some other attempt to make code a bit more flexible in terms of where images can be and where output can go. Actually no but that is what I was going for 😜️

        -
        #!/bin/sh
        -
        -DIR=`pwd`
        -
        -for image in ./*.*
        -do
        -#   Below code will scale images to 800px height without breaking aspect ratio
        -    convert $DIR/$image -scale 10000x800 -write $DIR/../output/$image
        -done
        -
        - - -

        It is hard to ask for help (especially after torturing with my code) but if you would like to give me feedback and advice, reply to toot of this post.

        -
        -

        Comments

        -

        Toot on this thread to comment. This blog is a static site. Comments won't appear here.

        -
        - -
        -

        Other articles

        -
          + +
    8. @@ -276,22 +213,6 @@ mkdir ../output | tags: 100DaysToOffload | Day 10 of #100DaysToOffload - -
    9. - -
    diff --git a/output/index2.html b/output/index2.html index 30377a6..2a59006 100644 --- a/output/index2.html +++ b/output/index2.html @@ -50,6 +50,22 @@
      +
    1. +
    2. -

      Resizing 2500 photos

      +

      Blog in Progress #1

      +
      + Under Construction GIF +
      + +

      I am redesigning this blog's theme piece by piece. But there is a possibility that you will be reading this article after the new theme is applied. So here is a reference screenshot before new theme is applied. Theme isn't the only change. I have few more changes in mind to extend blog's features and optimize it even further.

      +

      If you want to know how well does this page performed in GTmetrix with old theme, here is the report in PDF.

      +

      Removing Google Font dependency

      +

      Yanone's Kaffeesatz font is beautiful, but it takes almost 300ms to load. Even though it is as small as 20KB, it is something that is not needed.

      +

      Another reason I want to remove it is that, it is embedded through Google Fonts which also loads some Google API code. It would be ironic to not respect my readers while I am going through digital cleansing and de-Googling myself.

      +

      Fun Fact: My IndieWeb profile image is 1024 by 1024 PNG and is 174 KB, around 9 times the Yanone's Kaffesatz font from Google Fonts, but still takes a third less time to download. That being said, it isn't displayed anywhere and shouldn't be loaded unless explicitly wanted. 128x128 would be fine too. 1024x1024 is an overkill for an image that isn't displayed 😬️

      + +
      +

      Other articles

      +
        + +
      1. +
        +

        Resizing 2500 photos

        +
        + +

        I was asked to write a program to resize thousands of images which were gonna be uploaded to a website. Images had to be the same height for them to look organized in gallery. I remembered how I used imagemagick to write desktop-clock, immitate tty-clock on wallpaper. That experience helped me to design the program in my mind as we continue to speak on the phone.

        -
        /‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾\ 
        -| for each image            |
        -|   do resize to height=800 |
        -\___________________________/ 
        -  O
        -    o  \_\_    _/_/
        -      .    \__/
        -           (oo)\_______
        -           (__)\       )\/\
        -               ||----w |
        -               ||     ||
        -
        - - -

        This is a learning opportunity

        -

        Since I don't have much of an experience on shell scripting, I was Ducking everything. I learned to do few things during this task.

        -
          -
        1. For loops in shell script
        2. -
        3. Getting list of files
        4. -
        5. Correct syntax for resizing with ImageMagick
        6. -
        -

        After reading tutorials and looking at examples everything felt as simple as lego. I just needed to put them together.

        -

        Here is image_shrinker.v0.1_alpha.sh :

        -
        #!/bin/sh
        -mkdir ../output
        -for image in ./*
        -do
        -    convert $image -scale 1000000x800 ../output/$image
        -done
        -
        - - -

        This version has problems which I can't call "feature" 😁️ :

        -
          -
        1. Resolution is hard coded. Btw, only way to define resolution is in WIDTHxHEIGHT format AFAIK.
        2. -
        3. Script must be in same directory as images
        4. -
        5. PWD must point to the directory where script is
        6. -
        -

        Adjustable resolution

        -
        #!/bin/sh
        -mkdir ../output
        -WIDTH=$1 ; HEIGHT=$2
        -
        -for image in ./*
        -do
        -    convert $image -scale $WIDTHx$HEIGHT ../output/$image
        -done
        -
        - - -

        This fixes the hard coded resolution problem but new problem is that the user has to know that WIDTH and HEIGHT must be given. I fix that by showing correct syntax to the user and then exiting :

        -
        #!/bin/sh
        -
        -if [ $# -lt 2 ]
        -then
        -    echo "USAGE:"
        -    echo -e "\t\$IMAGE_DIRECTORY/image_shrinker.sh WIDTH HEIGHT"
        -    exit 1
        -fi
        -
        -WIDTH=$1 ; HEIGHT=$2
        -mkdir ../output
        -
        -for image in *
        -do
        -    convert $image -scale $Resolution ../output/$image
        -done
        -
        - - -

        Here is some other attempt to make code a bit more flexible in terms of where images can be and where output can go. Actually no but that is what I was going for 😜️

        -
        #!/bin/sh
        -
        -DIR=`pwd`
        -
        -for image in ./*.*
        -do
        -#   Below code will scale images to 800px height without breaking aspect ratio
        -    convert $DIR/$image -scale 10000x800 -write $DIR/../output/$image
        -done
        -
        - - -

        It is hard to ask for help (especially after torturing with my code) but if you would like to give me feedback and advice, reply to toot of this post.

        -
        -

        Comments

        -

        Toot on this thread to comment. This blog is a static site. Comments won't appear here.

        -
        - -
        -

        Other articles

        -
          + +

    3. @@ -276,22 +213,6 @@ mkdir ../output | tags: 100DaysToOffload | Day 10 of #100DaysToOffload - -
    4. - -
    diff --git a/output/tag/100daystooffload2.html b/output/tag/100daystooffload2.html index 41484ae..92a6382 100644 --- a/output/tag/100daystooffload2.html +++ b/output/tag/100daystooffload2.html @@ -50,6 +50,22 @@
      +
    1. +
    2. -

      Tags for Ali Murteza Yesil

    3. 100DaysToOffload (18)
    4. +

      Tags for Ali Murteza Yesil

    5. 100DaysToOffload (19)
    6. android (1)
    7. code (2)
    8. digitalcleansing (6)
    9. diff --git a/pelicanconf.py b/pelicanconf.py index c3a6cde..b176aec 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -44,7 +44,7 @@ SOCIAL = ( DEFAULT_PAGINATION = 10 # Uncomment following line if you want document-relative URLs when developing -#RELATIVE_URLS = True +RELATIVE_URLS = True ### Some of the switches to get my ideal setup USE_FOLDER_AS_CATEGORY = True @@ -66,7 +66,7 @@ EXTRA_PATH_METADATA = { 'extra/favicon.ico': {'path': 'favicon.ico'}, } -THEME = '/home/murteza/Projects/Blog/theme/blueidea' +THEME = '/home/murteza/Projects/Blog/theme/my_theme' ### Blueidea theme specific settings # Display pages list on the top menu diff --git a/theme/my_theme/LICENSE b/theme/my_theme/LICENSE new file mode 100644 index 0000000..0b23361 --- /dev/null +++ b/theme/my_theme/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2013 blueicefield + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/theme/my_theme/README.md b/theme/my_theme/README.md new file mode 100644 index 0000000..568ac2a --- /dev/null +++ b/theme/my_theme/README.md @@ -0,0 +1,122 @@ +my_theme +======== + +A clean theme for Pelican inspired by [pelican-blueidea](https://github.com/nasskach/pelican-blueidea "Pelican SSG") and [Susty](https://github.com/jacklenox/susty "WordPress CMS"). + +Focusing on clean interface to help people read better. Reduces site load speed by __NOT__ using external fonts. + +PLANNED Features + -------- +* Black Lives Matter banner. +* IndieWeb Profile +* #100DaysToOffload +* Toot for comment + +* Ability to hide pages from the top menu. +* Ability to hide categories from the top menu. +* Ability to display categories as a submenu. +* Ability to sort pages using a specific attribute like the date or any additionnal attribute. +* Ability to hide the author's name or the article category in the articles info. +* Icons for the following social networks: Facebook, Github, Google+, LastFM, LinkedIN, RSS/ATOM, Twitter, Mastodon, Vimeo, YouTube, PeerTube + +PLANNED Settings + -------- + + # IndieWeb Profile + + # Display pages list on the top menu + DISPLAY_PAGES_ON_MENU (True) + + # Display categories list on the top menu + DISPLAY_CATEGORIES_ON_MENU (True) + + # Display categories list as a submenu of the top menu + DISPLAY_CATEGORIES_ON_SUBMENU (False) + + # Display the category in the article's info + DISPLAY_CATEGORIES_ON_POSTINFO (False) + + # Display the author in the article's info + DISPLAY_AUTHOR_ON_POSTINFO (False) + +// # Display the search form +// DISPLAY_SEARCH_FORM (False) + + # Sort pages list by a given attribute + PAGES_SORT_ATTRIBUTE (Title) + + # Display the "Fork me on Github" banner + GITHUB_URL (None) + + # Blogroll + LINKS + + # Social widget + SOCIAL + +post front-matter +----------------- + # \#100DaysToOffload + hundreddaystooffload (Day Number) + + # Toot to Comment + comment: (Link to toot) + +--- + +--- + +pelican-blueidea +================ + +A theme for Pelican inspired by the default theme notmyidea. + +Features +-------- +* Ability to hide pages from the top menu. +* Ability to hide categories from the top menu. +* Ability to display categories as a submenu. +* Ability to display a search form which exploits the [DuckDuckGo](https://duckduckgo.com/) search engine. +* Ability to sort pages using a specific attribute like the date or any additionnal attribute. +* Ability to hide the author's name or the article category in the articles info. +* Icons for the following social networks: Facebook, Github, Google+, LastFM, LinkedIN, RSS/ATOM, Twitter, Vimeo and Youtube. + +Preview +------- +![Screenshot-1](https://raw.github.com/blueicefield/pelican-blueidea/master/screenshot-1.png) + +Settings +-------- + # Display pages list on the top menu + DISPLAY_PAGES_ON_MENU (True) + + # Display categories list on the top menu + DISPLAY_CATEGORIES_ON_MENU (True) + + # Display categories list as a submenu of the top menu + DISPLAY_CATEGORIES_ON_SUBMENU (False) + + # Display the category in the article's info + DISPLAY_CATEGORIES_ON_POSTINFO (False) + + # Display the author in the article's info + DISPLAY_AUTHOR_ON_POSTINFO (False) + + # Display the search form + DISPLAY_SEARCH_FORM (False) + + # Sort pages list by a given attribute + PAGES_SORT_ATTRIBUTE (Title) + + # Display the "Fork me on Github" banner + GITHUB_URL (None) + + # Blogroll + LINKS + + # Social widget + SOCIAL + +Browsers compatibility +---------------------- +Only tested with latest releases of Mozilla Firefox and Chromium/Chrome. diff --git a/theme/my_theme/screenshot-1.png b/theme/my_theme/screenshot-1.png new file mode 100644 index 0000000..203c74a Binary files /dev/null and b/theme/my_theme/screenshot-1.png differ diff --git a/theme/my_theme/screenshot-2.png b/theme/my_theme/screenshot-2.png new file mode 100644 index 0000000..0db485a Binary files /dev/null and b/theme/my_theme/screenshot-2.png differ diff --git a/theme/my_theme/screenshot-3.png b/theme/my_theme/screenshot-3.png new file mode 100644 index 0000000..9215bae Binary files /dev/null and b/theme/my_theme/screenshot-3.png differ diff --git a/theme/my_theme/screenshot-4.png b/theme/my_theme/screenshot-4.png new file mode 100644 index 0000000..477cc4c Binary files /dev/null and b/theme/my_theme/screenshot-4.png differ diff --git a/theme/my_theme/screenshot-5.png b/theme/my_theme/screenshot-5.png new file mode 100644 index 0000000..17ea883 Binary files /dev/null and b/theme/my_theme/screenshot-5.png differ diff --git a/theme/my_theme/static/css/main.css b/theme/my_theme/static/css/main.css new file mode 100644 index 0000000..a7d1bd2 --- /dev/null +++ b/theme/my_theme/static/css/main.css @@ -0,0 +1,475 @@ +/* + Name: blueidea + Date: Oct 2013 + Description: A Pelican theme inspired by the default theme notmyidea + Version: 1.0 + License: MIT + Licensed by: Smashing Media GmbH + Original author: Enrique Ramírez + Customized by : Nassim Kacha +*/ + +/* Imports */ +@import url("reset.css"); +@import url("pygment.css"); +@import url("typogrify.css"); +@import url(//fonts.googleapis.com/css?family=Yanone+Kaffeesatz&subset=latin); + +/***** Global *****/ +/* Body */ +body { + background: #f2f3f3; + color: #000305; + font-size: 87.5%; /* Base font size: 14px */ + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + /* font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; */ + line-height: 1.429; + margin: 0; + padding: 0; + text-align: left; +} + +/* Headings */ +h1 {font-size: 2em } +h2 {font-size: 1.571em} /* 22px */ +h3 {font-size: 1.429em} /* 20px */ +h4 {font-size: 1.286em} /* 18px */ +h5 {font-size: 1.143em} /* 16px */ +h6 {font-size: 1em} /* 14px */ + +h1, h2, h3, h4, h5, h6 { + font-weight: 400; + line-height: 1.1; + margin-bottom: .8em; + /* font-family: 'Yanone Kaffeesatz', arial, serif; */ +} + +h3, h4, h5, h6 { margin-top: .8em; } + +hr { border: 2px solid #EEEEEE; } + +/* Anchors */ +a {outline: 0;} +a img {border: 0px; text-decoration: none;} +a:link, a:visited { + color: #008db8; + padding: 0 1px; + text-decoration: none; +} +a:hover, a:active { + text-decoration: underline; +} + +/* Paragraphs */ +div.line-block, +p { margin-top: 1em; + margin-bottom: 1em;} + +strong, b {font-weight: bold;} +em, i {font-style: italic;} + +/* Lists */ +ul { + list-style: outside disc; + margin: 0em 0 0 1.5em; +} + +ol { + list-style: outside decimal; + margin: 0em 0 0 1.5em; +} + +li { margin-top: 0.5em;} + +.post-info { + border-top: 1px solid; + text-align: right; +} + +.readmore { float: right } + +dl {margin: 0 0 1.5em 0;} +dt {font-weight: bold;} +dd {margin-left: 1.5em;} + +pre{background-color: rgb(238, 238, 238); padding: 10px; margin: 10px; overflow: auto;} + +/* Quotes */ +blockquote { + margin: 20px; + font-style: italic; +} +cite {} + +q {} + +div.note { + float: right; + margin: 5px; + font-size: 85%; + max-width: 300px; +} + +/* Tables */ +table {margin: .5em auto 1.5em auto; width: 98%;} + + /* Thead */ + thead th {padding: .5em .4em; text-align: left;} + thead td {} + + /* Tbody */ + tbody td {padding: .5em .4em;} + tbody th {} + + tbody .alt td {} + tbody .alt th {} + + /* Tfoot */ + tfoot th {} + tfoot td {} + +/* HTML5 tags */ +header, section, footer, +aside, nav, article, figure { + display: block; +} + +/***** Layout *****/ +.body {clear: both; margin: 0 auto; width: 800px;} +img.right, figure.right {float: right; margin: 0 0 2em 2em;} +img.left, figure.left {float: left; margin: 0 2em 2em 0;} + +/* + Header +*****************/ +#banner { + margin: 0 auto; + padding: 2.5em 0 0 0; +} + + /* Banner */ + #banner h1 {font-size: 3.571em; line-height: 0;} + #banner h1 a:link, #banner h1 a:visited { + color: #000305; + display: block; + font-weight: bold; + margin: 0 0 .6em .2em; + text-decoration: none; + } + #banner h1 a:hover, #banner h1 a:active { + background: none; + color: #008db8; + text-shadow: none; + } + + #banner h1 strong {font-size: 0.36em; font-weight: normal;} + + /* Main Nav */ + #banner nav { + background: #000305; + font-size: 1.143em; + height: 40px; + line-height: 30px; + margin: 0 auto 2em auto; + padding: 0; + text-align: center; + width: 800px; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + + #banner nav ul {list-style: none; margin: 0 auto; width: 800px;} + #banner nav li {float: left; display: inline; margin: 0;} + + #banner nav a:link, #banner nav a:visited { + color: #fff; + display: inline-block; + height: 30px; + padding: 5px 1.5em; + text-decoration: none; + } + #banner nav a:hover, #banner nav a:active, + #banner nav .active a:link, #banner nav .active a:visited { + background: #008db8; + color: #fff; + text-shadow: none !important; + } + + #banner nav li:first-child a { + border-top-left-radius: 5px; + -moz-border-radius-topleft: 5px; + -webkit-border-top-left-radius: 5px; + + border-bottom-left-radius: 5px; + -moz-border-radius-bottomleft: 5px; + -webkit-border-bottom-left-radius: 5px; + } + + /* Search form */ + #banner #search input { + background: #272822 url('../images/icons/search.png') no-repeat 165px; + border: none; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + color: #fff; + float: right; + height: 25px; + margin-top: 6px; + margin-right: 10px; + padding-left: 10px; + width: 180px; + font-size: small; + } + + #banner #search input:focus { + background: #272822; + box-shadow: inset 0 0 5px #fff; + } + + /* Submenu */ + #banner #submenu { + background-color: #fff; + border: 0px; + border-radius: 0 0 5px 5px; + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + height: 25px; + line-height: 20px; + margin: -2.3em auto 2em auto; + padding: 0px; + text-align: center; + width: 790px; + } + #banner #submenu ul {clear: both; list-style: none; margin: 0;} + #banner #submenu li {float: left; display: inline; margin: 0;} + #banner #submenu li a:link, #banner #submenu li a:visited { + display: inline-block; + font-size: small; + font-weight: bold; + height: 25px; + padding: 0px 1.5em; + } + #banner #submenu li a:hover, #banner #submenu li a:active { + background: #008db8; + border-top: 1px solid #008db8; + -moz-border-top: 1px solid #008db8; + -webkit-border-top: 1px solid #008db8; + color: #fff; + text-decoration: none; + } + #banner #submenu .active a:link, #banner #submenu .active a:visited { + background: #008db8; + border-top: 1px solid #008db8; + -moz-border-top: 1px solid #008db8; + -webkit-border-top: 1px solid #008db8; + color: #fff; + text-decoration: none; + } + #banner #submenu li:first-child a { + border-bottom-left-radius: 5px; + -moz-border-bottom-left-radius: 5px; + -webkit-border-bottom-left-radius: 5px; + } + +/* + Featured +*****************/ +#featured { + background: #fff; + margin-bottom: 2em; + overflow: hidden; + padding: 20px; + width: 760px; + + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} + +#featured figure { + border: 2px solid #eee; + float: right; + margin: 0.786em 2em 0 5em; + width: 248px; +} +#featured figure img {display: block; float: right;} + +#featured h2 {color: #008DB8; font-size: 1.714em; margin-bottom: 0.333em;} +#featured h3 {font-size: 1.429em; margin-bottom: .5em;} + +#featured h3 a:link, #featured h3 a:visited {color: #000305; text-decoration: none;} +#featured h3 a:hover, #featured h3 a:active {color: #fff;} + +/* + Body +*****************/ +#content { + background: #fff; + /*margin-bottom: 2em;*/ + overflow: hidden; + padding: 20px 20px; + width: 760px; + + border-radius: 10px 10px 0 0; + -moz-border-radius: 10px 10px 0 0; + -webkit-border-radius: 10px 10px 0 0; +} + +/* + Extras +*****************/ +#extras { + margin: 0 auto 0 auto; + overflow: hidden; + background: #000305; + border-radius: 0 0 10px 10px; + -moz-border-radius: 0 0 10px 10px; + -webkit-border-radius: 0 0 10px 10px; + padding-bottom: 10px; +} + +#extras ul {list-style: none; margin: 0;} +/*#extras li {border-bottom: 1px solid #fff;}*/ +#extras li {margin-top: 0;} +#extras h2 { + color: #008db8; + font-size: 1.429em; + margin-bottom: .25em; + padding: 0 3px; +} + +#extras a:link, #extras a:visited { + color: #fff; + display: block; + /*border-bottom: 1px solid #F4E3E3;*/ + text-decoration: none; + padding: .3em .25em; +} + +#extras a:hover, #extras a:active {background: #008db8; color: #fff;} + + /* Blogroll */ + #extras .blogroll { + float: left; + width: 615px; + } + + #extras .blogroll li {float: left; margin: 0 20px 0 0; width: 185px;} + + /* Social */ + #extras .social { + float: right; + width: 175px; + } + + #extras div[class='social'] a { + background-repeat: no-repeat; + background-position: 3px 6px; + padding-left: 25px; + } + + /* Icons */ + #extras .social a {background-size: 18px;} + #extras .social a[href*='facebook.com'] {background-image: url('../images/icons/facebook.png');} + #extras .social a[href*='github.com'], + #extras .social a[href*='git.io'] {background-image: url('../images/icons/github.png');} + #extras .social a[href*='plus.google.com'] {background-image: url('../images/icons/google-plus.png');} + #extras .social a[href*='groups.google.com'] {background-image: url('../images/icons/google-plus.png');} + #extras .social a[href*='last.fm'], .social a[href*='lastfm.'] {background-image: url('../images/icons/lastfm.png');} + #extras .social a[href*='linkedin.com'] {background-image: url('../images/icons/linkedin.png');} + #extras .social a[type$='atom+xml'], .social a[type$='rss+xml'] {background-image: url('../images/icons/rss.png');} + #extras .social a[href*='twitter.com'] {background-image: url('../images/icons/twitter.png');} + #extras .social a[href*='vimeo.com'] {background-image: url('../images/icons/vimeo.png');} + #extras .social a[href*='youtube.com'] {background-image: url('../images/icons/youtube.png');} + + +/* + Footer +*****************/ +#contentinfo {text-align: right; font-size: x-small;} +#contentinfo a {font-weight: bold;} + +/***** Sections *****/ +/* Blog */ +.hentry { + display: block; + clear: both; + border-bottom: 1px solid #eee; + padding: 1.5em 0; +} +li:last-child .hentry, #content > .hentry {border: 0; margin: 0;} +#content > .hentry {padding: 1em 0;} +.hentry img{display : none ;} +.entry-title {font-size: 3em; margin-bottom: 10px; margin-top: 0;} +.entry-title a:link, .entry-title a:visited {text-decoration: none; color: #333;} +.entry-title a:visited {background-color: #fff;} + +.hentry .post-info * {font-style: normal;} + + /* Content */ + .hentry footer {margin-bottom: 2em;} + .hentry footer address {display: inline;} + #posts-list footer address {display: block;} + + /* Blog Index */ + #posts-list {list-style: none; margin: 0;} + #posts-list .hentry {padding-left: 10px; position: relative;} + + #posts-list footer { + border-top: 1px solid; + margin-top: -1.3em; + } + + /* About the Author */ + #about-author { + background: #f9f9f9; + clear: both; + font-style: normal; + margin: 2em 0; + padding: 10px 20px 15px 20px; + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + + #about-author strong { + color: #C64350; + clear: both; + display: block; + font-size: 1.429em; + } + + #about-author .photo {border: 1px solid #ddd; float: left; margin: 5px 1em 0 0;} + + /* Comments */ + #comments-list {list-style: none; margin: 0 1em;} + #comments-list blockquote { + background: #f8f8f8; + clear: both; + font-style: normal; + margin: 0; + padding: 15px 20px; + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + #comments-list footer {color: #888; padding: .5em 1em 0 0; text-align: right;} + + #comments-list li:nth-child(2n) blockquote {background: #F5f5f5;} + + /* Add a Comment */ + #add-comment label {clear: left; float: left; text-align: left; width: 150px;} + #add-comment input[type='text'], + #add-comment input[type='email'], + #add-comment input[type='url'] {float: left; width: 200px;} + + #add-comment textarea {float: left; height: 150px; width: 495px;} + + #add-comment p.req {clear: both; margin: 0 .5em 1em 0; text-align: right;} + + #add-comment input[type='submit'] {float: right; margin: 0 .5em;} + #add-comment * {margin-bottom: .5em;} diff --git a/theme/my_theme/static/css/pygment.css b/theme/my_theme/static/css/pygment.css new file mode 100644 index 0000000..99f2169 --- /dev/null +++ b/theme/my_theme/static/css/pygment.css @@ -0,0 +1,66 @@ +.highlight pre +{ + background: #272822; + color: #f8f8f2; + border: 1px solid #272822; + /*border-radius: 5px;*/ +} +.highlight .hll { background-color: #49483e } +.highlight .c { color: #75715e } /* Comment */ +.highlight .err { color: #960050; background-color: #1e0010 } /* Error */ +.highlight .k { color: #66d9ef } /* Keyword */ +.highlight .l { color: #ae81ff } /* Literal */ +.highlight .n { color: #f8f8f2 } /* Name */ +.highlight .o { color: #f92672 } /* Operator */ +.highlight .p { color: #f8f8f2 } /* Punctuation */ +.highlight .cm { color: #75715e } /* Comment.Multiline */ +.highlight .cp { color: #75715e } /* Comment.Preproc */ +.highlight .c1 { color: #75715e } /* Comment.Single */ +.highlight .cs { color: #75715e } /* Comment.Special */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .kc { color: #66d9ef } /* Keyword.Constant */ +.highlight .kd { color: #66d9ef } /* Keyword.Declaration */ +.highlight .kn { color: #f92672 } /* Keyword.Namespace */ +.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ +.highlight .kr { color: #66d9ef } /* Keyword.Reserved */ +.highlight .kt { color: #66d9ef } /* Keyword.Type */ +.highlight .ld { color: #e6db74 } /* Literal.Date */ +.highlight .m { color: #ae81ff } /* Literal.Number */ +.highlight .s { color: #e6db74 } /* Literal.String */ +.highlight .na { color: #a6e22e } /* Name.Attribute */ +.highlight .nb { color: #f8f8f2 } /* Name.Builtin */ +.highlight .nc { color: #a6e22e } /* Name.Class */ +.highlight .no { color: #66d9ef } /* Name.Constant */ +.highlight .nd { color: #a6e22e } /* Name.Decorator */ +.highlight .ni { color: #f8f8f2 } /* Name.Entity */ +.highlight .ne { color: #a6e22e } /* Name.Exception */ +.highlight .nf { color: #a6e22e } /* Name.Function */ +.highlight .nl { color: #f8f8f2 } /* Name.Label */ +.highlight .nn { color: #f8f8f2 } /* Name.Namespace */ +.highlight .nx { color: #a6e22e } /* Name.Other */ +.highlight .py { color: #f8f8f2 } /* Name.Property */ +.highlight .nt { color: #f92672 } /* Name.Tag */ +.highlight .nv { color: #f8f8f2 } /* Name.Variable */ +.highlight .ow { color: #f92672 } /* Operator.Word */ +.highlight .w { color: #f8f8f2 } /* Text.Whitespace */ +.highlight .mf { color: #ae81ff } /* Literal.Number.Float */ +.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ +.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ +.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ +.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ +.highlight .sc { color: #e6db74 } /* Literal.String.Char */ +.highlight .sd { color: #e6db74 } /* Literal.String.Doc */ +.highlight .s2 { color: #e6db74 } /* Literal.String.Double */ +.highlight .se { color: #ae81ff } /* Literal.String.Escape */ +.highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ +.highlight .si { color: #e6db74 } /* Literal.String.Interpol */ +.highlight .sx { color: #e6db74 } /* Literal.String.Other */ +.highlight .sr { color: #e6db74 } /* Literal.String.Regex */ +.highlight .s1 { color: #e6db74 } /* Literal.String.Single */ +.highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ +.highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ +.highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ +.highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ +.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ diff --git a/theme/my_theme/static/css/pygment.css.save b/theme/my_theme/static/css/pygment.css.save new file mode 100644 index 0000000..fdd056f --- /dev/null +++ b/theme/my_theme/static/css/pygment.css.save @@ -0,0 +1,205 @@ +.hll { +background-color:#eee; +} +.c { +color:#408090; +font-style:italic; +} +.err { +border:1px solid #FF0000; +} +.k { +color:#007020; +font-weight:bold; +} +.o { +color:#666666; +} +.cm { +color:#408090; +font-style:italic; +} +.cp { +color:#007020; +} +.c1 { +color:#408090; +font-style:italic; +} +.cs { +background-color:#FFF0F0; +color:#408090; +} +.gd { +color:#A00000; +} +.ge { +font-style:italic; +} +.gr { +color:#FF0000; +} +.gh { +color:#000080; +font-weight:bold; +} +.gi { +color:#00A000; +} +.go { +color:#303030; +} +.gp { +color:#C65D09; +font-weight:bold; +} +.gs { +font-weight:bold; +} +.gu { +color:#800080; +font-weight:bold; +} +.gt { +color:#0040D0; +} +.kc { +color:#007020; +font-weight:bold; +} +.kd { +color:#007020; +font-weight:bold; +} +.kn { +color:#007020; +font-weight:bold; +} +.kp { +color:#007020; +} +.kr { +color:#007020; +font-weight:bold; +} +.kt { +color:#902000; +} +.m { +color:#208050; +} +.s { +color:#4070A0; +} +.na { +color:#4070A0; +} +.nb { +color:#007020; +} +.nc { +color:#0E84B5; +font-weight:bold; +} +.no { +color:#60ADD5; +} +.nd { +color:#555555; +font-weight:bold; +} +.ni { +color:#D55537; +font-weight:bold; +} +.ne { +color:#007020; +} +.nf { +color:#06287E; +} +.nl { +color:#002070; +font-weight:bold; +} +.nn { +color:#0E84B5; +font-weight:bold; +} +.nt { +color:#062873; +font-weight:bold; +} +.nv { +color:#BB60D5; +} +.ow { +color:#007020; +font-weight:bold; +} +.w { +color:#BBBBBB; +} +.mf { +color:#208050; +} +.mh { +color:#208050; +} +.mi { +color:#208050; +} +.mo { +color:#208050; +} +.sb { +color:#4070A0; +} +.sc { +color:#4070A0; +} +.sd { +color:#4070A0; +font-style:italic; +} +.s2 { +color:#4070A0; +} +.se { +color:#4070A0; +font-weight:bold; +} +.sh { +color:#4070A0; +} +.si { +color:#70A0D0; +font-style:italic; +} +.sx { +color:#C65D09; +} +.sr { +color:#235388; +} +.s1 { +color:#4070A0; +} +.ss { +color:#517918; +} +.bp { +color:#007020; +} +.vc { +color:#BB60D5; +} +.vg { +color:#BB60D5; +} +.vi { +color:#BB60D5; +} +.il { +color:#208050; +} diff --git a/theme/my_theme/static/css/reset.css b/theme/my_theme/static/css/reset.css new file mode 100644 index 0000000..1e21756 --- /dev/null +++ b/theme/my_theme/static/css/reset.css @@ -0,0 +1,52 @@ +/* + Name: Reset Stylesheet + Description: Resets browser's default CSS + Author: Eric Meyer + Author URI: http://meyerweb.com/eric/tools/css/reset/ +*/ + +/* v1.0 | 20080212 */ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + background: transparent; + border: 0; + font-size: 100%; + margin: 0; + outline: 0; + padding: 0; + vertical-align: baseline; +} + +body {line-height: 1;} + +ol, ul {list-style: none;} + +blockquote, q {quotes: none;} + +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} + +/* remember to define focus styles! */ +:focus { + outline: 0; +} + +/* remember to highlight inserts somehow! */ +ins {text-decoration: none;} +del {text-decoration: line-through;} + +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file diff --git a/theme/my_theme/static/css/typogrify.css b/theme/my_theme/static/css/typogrify.css new file mode 100644 index 0000000..c9b34dc --- /dev/null +++ b/theme/my_theme/static/css/typogrify.css @@ -0,0 +1,3 @@ +.caps {font-size:.92em;} +.amp {color:#666; font-size:1.05em;font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; font-style:italic;} +.dquo {margin-left:-.38em;} diff --git a/theme/my_theme/static/css/wide.css b/theme/my_theme/static/css/wide.css new file mode 100644 index 0000000..88fd59c --- /dev/null +++ b/theme/my_theme/static/css/wide.css @@ -0,0 +1,48 @@ +@import url("main.css"); + +body { + font:1.3em/1.3 "Hoefler Text","Georgia",Georgia,serif,sans-serif; +} + +.post-info{ + display: none; +} + +#banner nav { + display: none; + -moz-border-radius: 0px; + margin-bottom: 20px; + overflow: hidden; + font-size: 1em; + background: #F5F4EF; +} + +#banner nav ul{ + padding-right: 50px; +} + +#banner nav li{ + float: right; + color: #000; +} + +#banner nav li a { + color: #000; +} + +#banner h1 { + margin-bottom: -18px; +} + +#featured, #extras { + padding: 50px; +} + +#featured { + padding-top: 20px; +} + +#extras { + padding-top: 0px; + padding-bottom: 0px; +} diff --git a/theme/my_theme/static/images/icons/_licence.txt b/theme/my_theme/static/images/icons/_licence.txt new file mode 100644 index 0000000..787d861 --- /dev/null +++ b/theme/my_theme/static/images/icons/_licence.txt @@ -0,0 +1,15 @@ +Copyright (C) 2011 Natko Hasi, http://www.designerschair.com +No attribution link is required, but it's greatly appreciated. + +Make sure you share these icons using this link only: +http://www.designerschair.com/freebies/mono-dc-monochrome-social-icons/ + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. \ No newline at end of file diff --git a/theme/my_theme/static/images/icons/facebook.png b/theme/my_theme/static/images/icons/facebook.png new file mode 100644 index 0000000..83b8cb3 Binary files /dev/null and b/theme/my_theme/static/images/icons/facebook.png differ diff --git a/theme/my_theme/static/images/icons/github.png b/theme/my_theme/static/images/icons/github.png new file mode 100644 index 0000000..4ad8dae Binary files /dev/null and b/theme/my_theme/static/images/icons/github.png differ diff --git a/theme/my_theme/static/images/icons/google-plus.png b/theme/my_theme/static/images/icons/google-plus.png new file mode 100644 index 0000000..6854b60 Binary files /dev/null and b/theme/my_theme/static/images/icons/google-plus.png differ diff --git a/theme/my_theme/static/images/icons/lastfm.png b/theme/my_theme/static/images/icons/lastfm.png new file mode 100644 index 0000000..3a986e4 Binary files /dev/null and b/theme/my_theme/static/images/icons/lastfm.png differ diff --git a/theme/my_theme/static/images/icons/linkedin.png b/theme/my_theme/static/images/icons/linkedin.png new file mode 100644 index 0000000..0d0d0a0 Binary files /dev/null and b/theme/my_theme/static/images/icons/linkedin.png differ diff --git a/theme/my_theme/static/images/icons/rss.png b/theme/my_theme/static/images/icons/rss.png new file mode 100644 index 0000000..32896db Binary files /dev/null and b/theme/my_theme/static/images/icons/rss.png differ diff --git a/theme/my_theme/static/images/icons/search.png b/theme/my_theme/static/images/icons/search.png new file mode 100644 index 0000000..fd5b4c1 Binary files /dev/null and b/theme/my_theme/static/images/icons/search.png differ diff --git a/theme/my_theme/static/images/icons/twitter.png b/theme/my_theme/static/images/icons/twitter.png new file mode 100644 index 0000000..fd3b8e4 Binary files /dev/null and b/theme/my_theme/static/images/icons/twitter.png differ diff --git a/theme/my_theme/static/images/icons/vimeo.png b/theme/my_theme/static/images/icons/vimeo.png new file mode 100644 index 0000000..b37fe11 Binary files /dev/null and b/theme/my_theme/static/images/icons/vimeo.png differ diff --git a/theme/my_theme/static/images/icons/youtube.png b/theme/my_theme/static/images/icons/youtube.png new file mode 100644 index 0000000..0e139c3 Binary files /dev/null and b/theme/my_theme/static/images/icons/youtube.png differ diff --git a/theme/my_theme/templates/analytics.html b/theme/my_theme/templates/analytics.html new file mode 100644 index 0000000..c3499c8 --- /dev/null +++ b/theme/my_theme/templates/analytics.html @@ -0,0 +1,27 @@ +{% if GOOGLE_ANALYTICS %} + +{% endif %} +{% if GAUGES %} + +{% endif %} diff --git a/theme/my_theme/templates/archives.html b/theme/my_theme/templates/archives.html new file mode 100644 index 0000000..f678494 --- /dev/null +++ b/theme/my_theme/templates/archives.html @@ -0,0 +1,13 @@ +{% extends "base.html" %} +{% block content %} +
      +

      Archives for {{ SITENAME }}

      + +
      +{% for article in dates %} +
      {{ article.locale_date }}
      +
      {{ article.title }}
      +{% endfor %} +
      +
      +{% endblock %} diff --git a/theme/my_theme/templates/article.html b/theme/my_theme/templates/article.html new file mode 100644 index 0000000..75ab91d --- /dev/null +++ b/theme/my_theme/templates/article.html @@ -0,0 +1,45 @@ +{% extends "base.html" %} +{% block title %}{{ article.title|striptags }}{% endblock %} +{% block content %} +
      +
      +
      +

      + {{ article.title}}

      + {% include 'twitter.html' %} +
      + +
      + {% include 'article_infos.html' %} + {{ article.content }} +
      + + {% if article.hundreddaystooffload %} + +

      Day {{ article.hundreddaystooffload }} of #100DaysToOffload

      + {% endif %} + + {% if article.comment %} + {% include 'comments.html' %} + {% endif %} + + {% if DISQUS_SITENAME and SITEURL and article.status != "draft" %} +
      +

      Comments !

      +
      + +
      + {% endif %} + +
      +
      +{% endblock %} diff --git a/theme/my_theme/templates/article_infos.html b/theme/my_theme/templates/article_infos.html new file mode 100644 index 0000000..bc4214e --- /dev/null +++ b/theme/my_theme/templates/article_infos.html @@ -0,0 +1,16 @@ +
      + {{ article.locale_date }} + {% if article.author and DISPLAY_AUTHOR_ON_POSTINFO %} + | by {{ article.author }} + {% endif %} + {% if DISPLAY_CATEGORIES_ON_POSTINFO %} + | in {{ article.category }} + {% endif %} +{% include 'taglist.html' %} + {% if article.hundreddaystooffload %} + | Day {{ article.hundreddaystooffload }} of #100DaysToOffload + {% endif %} +{% import 'translations.html' as translations with context %} +{{ translations.translations_for(article) }} + +
      diff --git a/theme/my_theme/templates/author.html b/theme/my_theme/templates/author.html new file mode 100644 index 0000000..0b37290 --- /dev/null +++ b/theme/my_theme/templates/author.html @@ -0,0 +1,2 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} - {{ author }}{% endblock %} diff --git a/theme/my_theme/templates/authors.html b/theme/my_theme/templates/authors.html new file mode 100644 index 0000000..a203422 --- /dev/null +++ b/theme/my_theme/templates/authors.html @@ -0,0 +1,15 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }} - Authors{% endblock %} + +{% block content %} + +
      +

      Authors on {{ SITENAME }}

      + + {%- for author, articles in authors|sort %} +
    10. {{ author }} ({{ articles|count }})
    11. + {% endfor %} +
      + +{% endblock %} diff --git a/theme/my_theme/templates/base.html b/theme/my_theme/templates/base.html new file mode 100644 index 0000000..e0fdfff --- /dev/null +++ b/theme/my_theme/templates/base.html @@ -0,0 +1,149 @@ + + + + + {% block title %}{{ SITENAME }}{%endblock%} + + {% if FEED_ALL_ATOM %} + + {% endif %} + {% if FEED_ALL_RSS %} + + {% endif %} + + {% if BLACK_LIVES_MATTER %} + + + {% endif %} + + + + + + + {% if BLACK_LIVES_MATTER %} + + + {% endif %} +{% include 'github.html' %} + + {% block content %} + {% endblock %} +
      + {% if LINKS %} +
      +

      blogroll

      +
        + {% for name, link in LINKS %} +
      • {{ name }}
      • + {% endfor %} +
      +
      + {% endif %} + {% if SOCIAL or FEED_ALL_ATOM or FEED_ALL_RSS %} + + {% endif %} +
      + + + +{% include 'analytics.html' %} +{% include 'piwik.html' %} +{% include 'disqus_script.html' %} + + + + + + + + diff --git a/theme/my_theme/templates/base.html.modified b/theme/my_theme/templates/base.html.modified new file mode 100644 index 0000000..b0b5ca9 --- /dev/null +++ b/theme/my_theme/templates/base.html.modified @@ -0,0 +1,101 @@ + + + + + {% block title %}{{ SITENAME }}{%endblock%} + + {% if FEED_ALL_ATOM %} + + {% endif %} + {% if FEED_ALL_RSS %} + + {% endif %} + + + + + +{% include 'github.html' %} + + {% block content %} + {% endblock %} +
      + {% if LINKS %} +
      +

      blogroll

      +
        + {% for name, link in LINKS %} +
      • {{ name }}
      • + {% endfor %} +
      +
      + {% endif %} + {% if SOCIAL or FEED_ALL_ATOM or FEED_ALL_RSS %} + + {% endif %} +
      + + + +{% include 'analytics.html' %} +{% include 'piwik.html' %} +{% include 'disqus_script.html' %} + + diff --git a/theme/my_theme/templates/category.html b/theme/my_theme/templates/category.html new file mode 100644 index 0000000..56f8e93 --- /dev/null +++ b/theme/my_theme/templates/category.html @@ -0,0 +1,2 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} - {{ category }}{% endblock %} diff --git a/theme/my_theme/templates/comments.html b/theme/my_theme/templates/comments.html new file mode 100644 index 0000000..e6b4ae2 --- /dev/null +++ b/theme/my_theme/templates/comments.html @@ -0,0 +1,6 @@ +{% if article.comment %} + +
      +

      Comments

      +

      Toot on this thread to comment. This blog is a static site. Comments won't appear here.

      +{% endif %} diff --git a/theme/my_theme/templates/comments.html.disqus b/theme/my_theme/templates/comments.html.disqus new file mode 100644 index 0000000..348f425 --- /dev/null +++ b/theme/my_theme/templates/comments.html.disqus @@ -0,0 +1 @@ +{% if DISQUS_SITENAME %}

      comments

      {% endif %} diff --git a/theme/my_theme/templates/disqus_script.html b/theme/my_theme/templates/disqus_script.html new file mode 100644 index 0000000..4ee419b --- /dev/null +++ b/theme/my_theme/templates/disqus_script.html @@ -0,0 +1,11 @@ +{% if DISQUS_SITENAME %} + +{% endif %} diff --git a/theme/my_theme/templates/github.html b/theme/my_theme/templates/github.html new file mode 100644 index 0000000..9c46784 --- /dev/null +++ b/theme/my_theme/templates/github.html @@ -0,0 +1,9 @@ +{% if GITHUB_URL %} + +{% if GITHUB_POSITION != "left" %} +Fork me on GitHub +{% else %} +Fork me on GitHub +{% endif %} + +{% endif %} diff --git a/theme/my_theme/templates/index.html b/theme/my_theme/templates/index.html new file mode 100644 index 0000000..a8b0ffc --- /dev/null +++ b/theme/my_theme/templates/index.html @@ -0,0 +1,57 @@ +{% extends "base.html" %} +{% block content_title %}{% endblock %} +{% block content %} +{% if articles %} + {% for article in articles_page.object_list %} + + {# First item #} + {% if loop.first and not articles_page.has_previous() %} + + {% if loop.length > 1 %} +
      +

      Other articles

      +
        + {% endif %} + {# other items #} + {% else %} + {% if loop.first and articles_page.has_previous %} +
        +
          + {% endif %} +
        1. + {% endif %} + {% if loop.last %} +
        + {% if loop.last and (articles_page.has_previous() + or not articles_page.has_previous() and loop.length > 1) %} + {% include 'pagination.html' %} + {% endif %} +
        + {% endif %} + {% endfor %} +{% else %} +
        +

        Pages

        + {% for page in PAGES %} +
      1. {{ page.title }}
      2. + {% endfor %} +
        +{% endif %} +{% endblock content %} diff --git a/theme/my_theme/templates/index.html.original b/theme/my_theme/templates/index.html.original new file mode 100644 index 0000000..4b91306 --- /dev/null +++ b/theme/my_theme/templates/index.html.original @@ -0,0 +1,60 @@ +{% extends "base.html" %} +{% block content_title %}{% endblock %} +{% block content %} +{% if articles %} + {% for article in articles_page.object_list %} + + {# First item #} + {% if loop.first and not articles_page.has_previous() %} + + {% if loop.length > 1 %} +
        +

        Other articles

        +
          + {% endif %} + {# other items #} + {% else %} + {% if loop.first and articles_page.has_previous %} +
          +
            + {% endif %} +
          1. +
            +

            {{ article.title }}

            +
            + +
            + {% include 'article_infos.html' %} + {{ article.summary }} + read more + {% include 'comments.html' %} +
            +
          2. + {% endif %} + {% if loop.last %} +
          + {% if loop.last and (articles_page.has_previous() + or not articles_page.has_previous() and loop.length > 1) %} + {% include 'pagination.html' %} + {% endif %} +
          + {% endif %} + {% endfor %} +{% else %} +
          +

          Pages

          + {% for page in PAGES %} +
        1. {{ page.title }}
        2. + {% endfor %} +
          +{% endif %} +{% endblock content %} diff --git a/theme/my_theme/templates/page.html b/theme/my_theme/templates/page.html new file mode 100644 index 0000000..5ac50b6 --- /dev/null +++ b/theme/my_theme/templates/page.html @@ -0,0 +1,12 @@ +{% extends "base.html" %} +{% block title %}{{ page.title }}{% endblock %} +{% block content %} +
          +

          {{ page.title }}

          + {% import 'translations.html' as translations with context %} + {{ translations.translations_for(page) }} + {% if PDF_PROCESSOR %}get + the pdf{% endif %} + {{ page.content }} +
          +{% endblock %} diff --git a/theme/my_theme/templates/piwik.html b/theme/my_theme/templates/piwik.html new file mode 100644 index 0000000..f912626 --- /dev/null +++ b/theme/my_theme/templates/piwik.html @@ -0,0 +1,19 @@ +{% if PIWIK_URL and PIWIK_SITE_ID %} + +{% endif %} diff --git a/theme/my_theme/templates/tag.html b/theme/my_theme/templates/tag.html new file mode 100644 index 0000000..68cdcba --- /dev/null +++ b/theme/my_theme/templates/tag.html @@ -0,0 +1,2 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} - {{ tag }}{% endblock %} diff --git a/theme/my_theme/templates/taglist.html b/theme/my_theme/templates/taglist.html new file mode 100644 index 0000000..147d8fe --- /dev/null +++ b/theme/my_theme/templates/taglist.html @@ -0,0 +1,2 @@ +{% if article.tags %}| tags: {% for tag in article.tags %}{{ tag }}{% endfor %}{% endif %} +{% if PDF_PROCESSOR %}| get the pdf{% endif %} diff --git a/theme/my_theme/templates/tags.html b/theme/my_theme/templates/tags.html new file mode 100644 index 0000000..76955f2 --- /dev/null +++ b/theme/my_theme/templates/tags.html @@ -0,0 +1,15 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }} - Tags{% endblock %} + +{% block content %} + +
          +

          Tags for {{ SITENAME }}

          + + {%- for tag, articles in tags|sort %} +
        3. {{ tag }} ({{ articles|count }})
        4. + {% endfor %} +
          + +{% endblock %} diff --git a/theme/my_theme/templates/translations.html b/theme/my_theme/templates/translations.html new file mode 100644 index 0000000..7894bb0 --- /dev/null +++ b/theme/my_theme/templates/translations.html @@ -0,0 +1,8 @@ +{% macro translations_for(article) %} +{% if article.translations %} +Translations: + {% for translation in article.translations %} + {{ translation.lang }} + {% endfor %} +{% endif %} +{% endmacro %} diff --git a/theme/my_theme/templates/twitter.html b/theme/my_theme/templates/twitter.html new file mode 100644 index 0000000..c6b159f --- /dev/null +++ b/theme/my_theme/templates/twitter.html @@ -0,0 +1,3 @@ +{% if TWITTER_USERNAME %} + +{% endif %} \ No newline at end of file