OS : Linux Mint19 xfce
wxPyhtonは、高機能なpython3のGUIだ。
python 2 で使用していたが、python 3 では一時期対応していなかったが、現在では使用可能となっている。
標準のtkinterと比べて、機能面で優れているようだ。
Python3-wxgtk4.0 をインストールすると
import wx
でエラーが出力されない。
OS : Linux Mint19 xfce
wxPyhtonは、高機能なpython3のGUIだ。
python 2 で使用していたが、python 3 では一時期対応していなかったが、現在では使用可能となっている。
標準のtkinterと比べて、機能面で優れているようだ。
Python3-wxgtk4.0 をインストールすると
import wx
でエラーが出力されない。
OS : Linux Mint 20 xfce
エディタ : Geany 1.36
pythonのプログラムを作成するためのエディタの一つに、Geanyがある。
プログラム実行時に、エディタ内蔵の端末か、OSの端末を介するかを設定することができる。
操作上、OSの端末のほうが使いやすい。
初期設定では、エディタ内蔵の端末のため、変更するためには次の通り。
「エディタ内蔵の端末」(デフォルト)の設定
VTEでプログラムを実行にチェクを入れる
「OSの端末」の設定
VTEでプログラムを実行のチェクを外す
OS : Linux Mint 20 xfce
Mint 20 xfce はディスクトップをカスタマイズできる割に、動作が軽いディストリビューションである。
アイコンを左右に配置し、中央エリアを空けるには、セパレーターを使う。
パネルの設定から、アイテムタブを選び、空ける位置にセパレーターを配置する。
セパレータを編集する。(赤丸をクリック)
スタイルを透明に、拡張にチェックを入れる。
セパレーターが可能な範囲で空を作り、左右にアイコンが配置される。
[ バーション ] Drupal8 8.7.7
[ データベース ] Sqlite
Drupal8のエディタは、ckeditorを使用している。しかし、標準で文字装飾でカラー機能はない。
このため、手作業で文字色の機能を追加するしか無い。
以下の手順で行う
【 必要ファイル 】
A) panelbutton-8.x-1.1.zip
B) panelbutton_4.8.0.zip
C) colorbutton-8.x-1.1.zip
D) colorbutton_4.8.0.zip
【 ダウンロード元 】
A) https://www.drupal.org/project/panelbutton
B) https://ckeditor.com/cke4/addon/panelbutton
C) https://www.drupal.org/project/colorbutton
D) https://ckeditor.com/cke4/addon/colorbutton
※上記ファイルは 2018年1月現在のもので、最新版は以下のサイトで検索する
https://www.drupal.org/project/project_module
ダウンロードファイルを解凍&コピーする前に、libraries フォルダーを手作業で作成する。
http://サイト名/libraries
上記A〜Dの解凍したファイルを module, librariesに振り分けてコピーする。
上記 A,C は http://サイト名/module 手動でフォルダーへコピーする。
B,D は http://サイト名/libraries 手動でフォルダーへコピーする。
機能拡張で「CKEditor Color Button」、「Panel Button」をインストールする。
環境設定 > テキストフォーマットとエディターで、ツールバーの構成を設定する。
設定は以上
上記で文字色アイコンが表示されなかった場合、B,Dのファイルをコピーしたlibrariesフォルダーを次の場所に置いてみる。
1) http://libraries フォルダーに置く。
2) http://サイト名/sites/all/libraries フォルダーに置く。
1) 2) のいずれか、またはどちらかを試してみる。
原因は不明だが、解決したこともあった。
ちなみに、
Drupal9 (9.0.8) でやってみた結果、うまくいかなかった。アイコンは表示されたものの、色の選択アイコンは表示されなかった。
#ckeditor, #drupal, #libraries, #colorbutton, #panelbutton
[ バージョン ] Drupal 9.0.7
<< エラー状況 >>
Drupal8から9へ移行する時、テンプレートをそのまま適用すると、
「サイトに予期せぬエラーが起こりました。しばらくたってから再度お試しください。」
というエラーメッセージが表示され、サイト自体が表示されない。
解決するためには、テンプレートファイルの内容を書き換えることによって、解決される。
ここでは、Drupal8から9への完全移行ではなく、非表示なったサイトを表示させるだけの解決方法。
<< 解決方法 >>
テンプレートファイルの内容を一部書き換える。
まず、テンプレートをフォルダーごとを以下に置く
{ サイト名 }/themes/custom/
以下のファイルの内容を一部書き換える
< ファイル名 >
{ サイト名 }/themes/custom/{テンプレート名}/{テンプレート名}.info.yml
▶ 書き換え内容
core: 8.x
を
core_version_requirement: ^8 || ^9
に書き換える。
サイトから、Drupal8から移行したテンプレートをインストールする。
以上
なお、一部を書き換えてもDrupal9への完全移行とはならなかった。CSSなどの修正が必要である。完全移行は後日に。
修正結果をすぐに反映するために、全てのキャッシュをクリアーしキャッシュ機能の一時停止の設定が必要だ。
全てのキャッシュのクリアーは、ホーム > 管理 > 環境設定 > 開発 > パフォーマンス から行う。
[ 参照サイト ] https://www.drupal.org/docs/theming-drupal
[ バージョン ] Drupal 9.0.7
[ データベス ] Sqlite
セキュリティのエラーについて、以下のような警告が表示された
「settings.php の trusted_host_patterns が設定されていません。セキュリティ面で脆弱となる恐れがあるため、設定することを強くおすすめします。・・・」
<< 解決方法 >>
ファイル名 { サイト名 }/sites/default/settings.php の内容を書き換える。
以下のコードを追加する。(コメントを外す)
▶ http://localhost/xxxxxにサイトを設定する場合
*/
$settings['trusted_host_patterns'] = [
'^localhost$' # localhost access
];
/*
上記例では、サンプルとして記述されているコメント行を外すだけ。 ホームページの上部に漢字の 三 (ハンバーガーボタン)に似たアイコンをクリックするとメニューが表示される。 ことのき、メニューは右または左からスライドするものがある。
スライドメニュー(またはドロワーメニュー)は、CSSだけで作成することができる。
CSSの transform: translateX() または transform: translateY() でメニュー領域を表示したり、隠したりすることがポイント。
表示したり、隠したりするスイッチは HTMLの inputタグ を記述し。CSSの :checked でスイッチとして、オン(有効)/オフ(無効)する要素を指定する。
実際のホームページでは、チェックするクリック領域を 三 記号に変えているだけである。
ポイントは以上
今回は、以下のように右側、左側、上部または下部からスライドさせてメニュー領域を表示したり、隠したりするコードを記した。
メニューを画面のどこに隠しておくかである。
例えば右からスライドさせる場合に、画面右側の見えない位置に隠して、ハンバーグボタンでオン(チェックを入れる)にすると、隠れたメニュー領域が画面の右から移動し、表示される。
この時、移動する速さを CSSの transition: 0.6s などのように設定することによって、瞬時に表示させるのではなく、移動するように見せることができる。
三 メニュー表示 (チェックが入る)
× メニューを閉じる(チェックが外れる)
図 メニューが表示されていない状態
右からスライド
左からスライド
上から
index.html
<!DOCTYPE html>三
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Test left-right</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="container">
<div id="nav-drawer">
<!-- 開くボタン|ハンバーガーアイコン -->
<input type="checkbox" id="nav-input" class="nav-unshown" />
<label id="nav-open" for="nav-input"><span></span></label>
<label class="nav-unshown" id="nav-close" for="nav-input"></label>
<!-- //開くボタン|ハンバーガーアイコン -->
<div id="nav-content">
<!-- 閉じるボタン|×Xアイコン -->
<label class="nav-unshown" id="nav-close2" for="nav-input">
<span></span>
</label>
<!-- //閉じるボタン|Xアイコン -->
<br>ここはメニューです。ボックスにチェックが入ると、表示されます。<br>
チェックを外すと閉じます。<br><br>
原理は、デフォルトで表示領域外に設定し、チェックを入れることによって移動させて表示させています。<br>
</div> <!-- //id="nav-content" -->
</div> <!-- //id="nav-drawer" -->
</div> <!-- //container -->
</body>
</html>
style.css
body {
background-color: #c0c0c0;
}
#container {
margin: auto;
}
#nav-drawer {
float: left;
}
/* メニュー表示要素 */
#nav-content {
overflow: auto;
position: fixed;
top: 0;
right: 0;
width: 90%;
max-width: 330px;
height: 100%;
background-color: white;
transition: 0.6s;
-webkit-transform: translateX(105%);
transform: translateX(105%);
z-index: 9999;
}
/* メニュー表示中の背景設定 */
#nav-close {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: black;
opacity: 0;
transition: 0.6s;
z-index: 99;
}
/* チェックボックス */
#nav-input:checked ~ #nav-content {
transform: translateX(0%);
-webkit-transform: translateX(0%);
box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
/* チェックボックス */
#nav-input:checked ~ #nav-close {
display: block;
opacity: 0.6;
}
style.css
body {
background-color: #c0c0c0;
}
#container {
margin: auto;
}
#nav-drawer {
float: right;
}
/* メニュー表示要素 */
#nav-content {
overflow: auto;
position: fixed;
top: 0;
left: 0;
width: 90%;
max-width: 330px;
height: 100%;
background-color: white;
transition: 0.6s;
-webkit-transform: translateX(-105%);
transform: translateX(-105%);
z-index: 9999;
}
/* メニュー表示中の背景設定 */
#nav-close {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: black;
opacity: 0;
transition: 0.6s;
z-index: 99;
}
/* チェックボックス */
#nav-input:checked ~ #nav-content {
transform: translateX(0%);
-webkit-transform: translateX(0%);
box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
/* チェックボックス */
#nav-input:checked ~ #nav-close {
display: block;
opacity: 0.6;
}
style.css
body {
background-color: #c0c0c0;
}
#container {
margin: auto;
position: absolute;
bottom: 0;
}
#nav-drawer {
float: left;
}
/* メニュー表示要素 */
#nav-content {
overflow: auto;
position: fixed;
top: 0;
right: 0;
width: 100%;
height: 90%;
max-height: 330px;
background-color: white;
transition: 0.6s;
-webkit-transform: translateY(-105%);
transform: translateY(-105%);
z-index: 9999;
}
/* メニュー表示中の背景設定 */
#nav-close {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: black;
opacity: 0;
transition: 0.6s;
z-index: 99;
}
/* チェックボックス */
#nav-input:checked ~ #nav-content {
transform: translateY(0%);
-webkit-transform: translateY(0%);
box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
/* チェックボックス */
#nav-input:checked ~ #nav-close {
display: block;
opacity: 0.6;
}style.css
body {
background-color: #c0c0c0;
}
#container {
margin: auto;
}
#nav-drawer {
float: left;
}
/* メニュー表示要素 */
#nav-content {
overflow: auto;
position: fixed;
bottom: 0;
right: 0;
width: 100%;
height: 90%;
max-height: 330px;
background-color: white;
transition: 0.6s;
-webkit-transform: translateY(105%);
transform: translateY(105%);
z-index: 9999;
}
/* メニュー表示中の背景設定 */
#nav-close {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: black;
opacity: 0;
transition: 0.6s;
z-index: 99;
}
/* チェックボックス */
#nav-input:checked ~ #nav-content {
transform: translateY(0%);
-webkit-transform: translateY(0%);
box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
/* チェックボックス */
#nav-input:checked ~ #nav-close {
display: block;
opacity: 0.6;
}
メニューを開く(三)/閉じる(X)記号は、上記ではHTMLに直接文字として簡易的に表したが、実際にCSSコードを使って記述する。labelタグやborder(CSS)を駆使すると可能。
今回は、仕組みを理解しやすくするために、最小限のコードで記した。
上記のコードを基に、実際のホームページで配置、デザインを追加していく。