テンプレート内に、テーマ変数の文字数をカットして表示する

Geeklog
投稿者: 表示回数1,889 印刷用ページ

テンプレート内に、テーマ変数の文字数をカットして表示する

テーマvaribleを140文字に詰めて表示する例:

<?php
$var = $this->get_var('varible'); 
$length = 140; $encoding = 'utf-8'; echo mb_strimwidth( stripslashes( $var ), 0, $length, '...', $encoding);
?>

404をビジュアルなエラー画面で表示する方法

Geeklog
投稿者: 表示回数1,633 印刷用ページ

Geeklogサイトで404をビジュアルなエラー画面で表示する方法:

1. .htaccessに1行を追加

ErrorDocument 404 /404.php
2. ビジュアルなエラー画面を静的ページ 404 をid 404 で作成。

もしこれで動かなければ、/system/lib-custom.css で custom/custom_handle404.php を呼んでいないはずです。 その場合は追加してください。

プログラムソースはivywe版パッケージをGitHubからどうぞ。

http://github.com/ivywe/geeklog-ivywe/ extended:system/custom/custom_handler404.php

さらに、TOPページへ自動遷移させたい場合は、以下をheader.thtmlのhead内に記述してください。


<?php if( strpos($this->get_var('page_title_and_site_name'), '404 Error') !==  false ){ ?>
<meta http-equiv="refresh" content="3;URL={site_url}">
<?php } ?>

GitHub Shell 覚書

Geeklog
投稿者: 表示回数1,419 印刷用ページ
Geeklog/coreからforkしてプルリクする方法です。

forkする



# forkして、GitHub Desktopでプルリクエスト用にブランチを作成する。かならずブランチを作成すること!masterはさわらない!


masterを更新する



# GitHub Desktopでブランチをmasterに変更してShellを開く

# 新しくFork元のリポジトリにupstreamという名前をつけてGeeklogを追加(一度設定すれば再設定不要)
$ git remote add upstream https://github.com/Geeklog-Core/geeklog

# upstreamからpullして最新を取得
$ git pull upstream master

# あるいは、以下の2過程を行う。
# fetch
$ git fetch upstream
# merge
$ git merge upstream/master

# GitHub Desktopでブランチを開発中のブランチに切り替えて完了。

プルリクエスト



# コミットが完了したら、github.com にてプルリクエストを送る。


作業用ブランチ等不要になったブランチを削除する



# ローカルブランチの一覧を表示する
$ git branch

# HEAD にマージしたブランチを削除する
$ git branch --delete foo
# マージしたかどうかを問わずに削除する
$ git branch -D foo

# リモートブランチの一覧を表示する
% git branch --remote
# ローカルブランチとリモートブランチの一覧を表示する
% git branch --all

# リモートブランチを同期させてリモートのブランチを削除
# GitHub DesktopのSyncを実行


ソーシャルボタンをGeeklogに追加する

Geeklog
投稿者: 表示回数2,246 印刷用ページ

Geeklog にSocial buttonを追加する方法はこちら。

header.thtml:

<meta name="twitter:image:height" content="400"{xhtml}>
<meta name="twitter:image:width" content="500"{xhtml}>
<meta name="twitter:url" content="<?php echo htmlspecialchars(htmlspecialchars(COM_getCurrentURL(), ENT_QUOTES, 'UTF-8'), ENT_QUOTES, 'utf-8'); ?>"{xhtml}>

footer:

<script>window.twttr = (function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0],
    t = window.twttr || {};
  if (d.getElementById(id)) return t;
  js = d.createElement(s);
  js.id = id;
  js.src = "https://platform.twitter.com/widgets.js";
  fjs.parentNode.insertBefore(js, fjs);
 
  t._e = [];
  t.ready = function(f) {
    t._e.push(f);
  };
 
  return t;
}(document, "script", "twitter-wjs"));</script>
storytext.thtml, featuredstorytext.thtml
    <ul class="uk-subnav uk-flex-right uk-margin-remove">
      <li><g:plusone href="{site_url}/article.php/{story_id}"></g:plusone></li>
      <li><a class="twitter-share-button" data-url="{site_url}/article.php/{story_id}" href="https://twitter.com/intent/tweet?text={story_title}" data-lang="ja">Tweet</a></li>
      <li><iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2F{!!autotag domain: !!}%2Farticle.php%2F{story_id}&amp;width=150&amp;height=20&amp;colorscheme=light&amp;layout=button_count&amp;action=like&amp;show_faces=true&amp;send=true&amp;appId={!!autotag conf:facebook_consumer_key !!}" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:150px; height:20px;" allowTransparency="true"></iframe></li>
    </ul>

see more:

https://github.com/ivywe/Default/commit/81f6c0e8e95782d916f3f2f3cfd9098d7ce55b8f
https://github.com/ivywe/Default/commit/144634e42e9c42aff1cb5bcf83f08144c73bc268

Geeklog 2.1.1 Default theme download:
https://github.com/ivywe/Default

Twitter:

https://dev.twitter.com/web/tweet-button

Autotags plugin: name domain: content example.com