kazumich.log

わにる.jp a-blog cms 勉強会 in 山形 で a-blog cms を紹介してきました

この記事は公開日より年以上経過しています

情報が古くなっている可能性がありますのでご注意ください。

前日の仙台からバスで1時間移動し、山形のWeb系の勉強会 わにる.jp で a-blog cms を紹介してきました。今回は、有限会社マン・クリエイト 石川さんに協力頂きました。ありがとうございます。今回、初めて山形の地を踏みました! こういう新しい場所に行かないといけません。もし、これを読んで来てほしいという方は連絡ください。


仙台から山形は、電車よりバスの方が便利なようで、通勤通学時間帯では10分に1本バスが出ているという事です。名古屋のあたりで考えると、岐阜のあたりに住んでいて、名古屋まで通勤している感じなんでしょうね。

今回は一人旅なのですが、SONYのWi-Fi付きのカメラを使って自分入りの写真を撮る「自分百景」というのにチャレンジして何枚も撮っています。これは別でブログに書こうかな。


参加者の属性


職種

HTML + CSS

PHP

山形の参加者は、初めての開催って事もあるのか、これまでの地区とは違う感じでHTML+CSSが苦手と答える人が40%近くいました。今回の話を聞いた人が、プログラムが得意でない人にオススメすると、ここら辺の割合が変化してくるのではないかと思います。


もうすぐ、a-blog cms の誕生日ですね。5周年になります。

CSS Nite in YAMAGATA


8/30(土) に「CSS Nite in YAMAGATA Vol.3」が開催されるそうです。私は、翌日に鈴鹿サーキットに行く用事が入っているので行く事は難しいですが、お近くの方は是非!

更新

Recommendation

2019年の a-blog cms 勉強会 全国ツアーは 新潟・山形・仙台から

新潟は東北ではないのかな?という気もしますが、東北地域の a-blog cms 勉強会に8月1.2.3日と3連続勉強会を開催してきました。 8月1日 新潟編 初日は、夜からが「a-blog cms 勉強会 in 新潟 2019夏」というところでしたが、朝から新潟に伺う飛行機をとってあったことから今のところ新潟で唯一のパートナーさんである 株式会社にいがた三昧 さんのところで社内勉強会をじっくり 10時〜15時と開催してきました。 「登山ツアー 山旅」のサイトが8月1日に公開になりました。 ツアーの詳細検索や詳細ページでも、しっかりカスタムユニットを作って便利に運用ができるようにとか、オススメ・イチオシなどのカスタマイズとか a-blog cms がうまく使われているサイトになっているのではないかと思います。 いろいろアドバイスもして来ましたので、今後もっとパワーアップしていくことでしょう。 秋に開催の「a-blog cms Training Camp 2019 Autumn」では事例紹介をお願いします。 にいがた三昧の五十嵐社長には「新潟で一番 a-blog cms が得意な会社になりたい」と言ってもらえ嬉しかったです。実際、新潟で一番なのはホントです。 実装担当者に気に入ってもらえる事は多いのですが、社長さん自ら気にってもらえ、これからも沢山 a-blog cms 使ってもらえそうです。 この3日日の勉強会の中で最多の15人の参加者で、私の初心者向けの a-blog cms の話と、にいがた三昧の保坂さんに事例紹介を行いました。これくらいの人数になると「聞きたいことありませんか?」って聞いてもなかなか手が上がらないのでやり方を考えないといけませんね。 a-blog cms 勉強会 in 新潟 2019/08 新潟の「へぎそば」ってのをランチでいただきました。つなぎに布海苔という海藻を使った蕎麦で、ヘギといわれる器に盛り付けた蕎麦になります。 8月2日 山形編 2日目は新潟から山形へ。陸続きなので大丈夫だろうと、しっかり移動手段を調べずに飛行機とホテルだけ予約して来てしました。新潟から山形は普通の電車で3時間45分かかりました。 お昼は、3年前にも来た coworking space too にお邪魔してきました。ここで山形のエバンジェリスト石川さんとマンツーマンで勉強会昼の部を行ってました。 夜からは 山形テルサ という施設に移動し、山形のパートナー Gazi工房 のお二人とも会うことができ、3年ぶりな山形の人たちに3年間のアップデート部分を紹介してきました。 やっぱり毎年来ないといけないと反省。 a-blog cms 勉強会 in 山形 2019 前日に蕎麦を食べてたので、山形ランチは「冷やしラーメン」に。 8月3日 仙台編 最終日は10分に1本ほどあるバスで山形から仙台へ。1時間ほどバスに揺られていると仙台に到着しました。仙台にはパートナーさんがいないので、どうなるかと思いましたが、福島県のパートナーであるオフィスマツモトさんや、3年前にも参加いただいた仙台の制作会社の人や、岩手からも参加していただけました。 a-blog cms 勉強会 in 仙台 2019 勉強会の写真が1枚も無かったのと、USB-C to VGA の変換コネクターが電源給電出来るモノでなく、バッテリーが無くなって勉強会を続けられない状況になってしまいヤマダ電機に HDMI ケーブルを買いに行かないといけなくなってしまったことを反省。 仙台は「牛タン定食」2,160円でした。えっ! 税別なの? でも、美味しかったです。

a-blog cms 勉強会 山形 2016/07 を開催しました

2016年7月22日(金) に山形の Coworking space too で「a-blog cms 勉強会 in 山形 2016/07」を開催しました。13:00 - 21:00 と随分長い時間利用させていただき、少しづつ人が増えていき最終的には11人の勉強会になりました。 18:00 からが本番ということで、私から「コンテンツファーストなWebサイト制作について」と「初心者の人に向けての a-blog cms の紹介」話をして、伊藤からは私が紹介できてなかったところの補足的なところで「モジュールとモジュールIDの話」をしてもらいました。 後半は、弊社で無料でお貸ししているサーバー ablogcms.io を使ってのハンズオンで「静的HTMLサイトからCMSのテーマを作ってみよう」を皆さんでチャレンジしてもらいました。 山形で a-blog cms の勉強会は 2回目なので、何年も使ってる人もいれば、初めての人もいるので、どんな感じに話をするのがいいのか、未だに悩みつつ紹介させていただいていますが、どうでしたでしょうか。 名古屋 〜 山形の移動について 山形の人が名古屋に来てもらえるように紹介しておきますが、愛知には中部国際空港・セントレア(常滑市)と、名古屋空港(小牧市)というのがあって、山形からは名古屋空港になります。フジドリームエアラインズ(FDA)が利用できます。今回は名古屋から山形に来る人に「夏のおいしいプレゼントキャンペーン」というのをやっていて「とまと」もらった! 11月18日(金)・19日(土) で a-blog cms Training Camp 2016 Autumn が既に募集を開始していますが、これに来るためには8月下旬から飛行機の申し込みがありますので、1ヶ月後くらいには飛行機を取っておいてください。片道11,000円〜13,000円くらいの費用で移動できます。空港から名古屋駅までは直通のバスで30分くらいです。 ランチは 三元豚 のトンカツ 出張のお楽しみとして現地の美味しいものをってことで、山形では「三元豚 のトンカツ」を食べてきました。人気の店で入れるかどうかって話でしたが、お昼少し前の時間だったこともあり大丈夫でした。2倍以上の費用を払うと凄いヤツが食べられそうだったのですが、普通のトンカツで十分満足でしたね。 平田牧場 ホテルメトロポリタン山形店

a-blog cms と htmx で作る SPA(Single Page Application) なブログテーマの実装方法

今回、この a-blog cms で作られているブログを htmx を利用して SPA(Single Page Application) にする実験をしてみましたので、その点について紹介をしてみます。 Single Page Application(SPA)とは ウェブ開発の世界では、Single Page Application(SPA)がますます人気になっています。SPA は、従来の複数ページからなるウェブサイトと異なり、単一の HTML ページで動作し、ユーザーの操作に応じて部分的に、必要なデータだけをサーバーから取得するためデータの授受が最小限になり、ページの表示速度向上が向上します。 一般的には、React や Vue.js などのフレームワークを利用して構築することが多く、エンジニアのコストが増えることもあります。 htmx をフロントエンドに、 バックエンドには a-blog cms を採用すると a-blog cms では、PHP のコードを書くことなく、テンプレートには HTML のみを記述し、管理画面で表示件数やソート順、表示する情報の条件を設定する必要がなく、バックエンドのコードは記述する事がありません。また、そのテンプレートの HTML に属性を追加するだけで、htmx が動作し、手軽に SPA を実現することが可能です。 最初のアクセスは a-blog cms が担当 トップページはもちろんですが、Google検索や SNS のリンクなどで途中のページにアクセスがあった際にも、最初のアクセスは a-blog cms がページ全体の HTML を生成します。 分かりやすくするために、サブカラムの一番上に a-blog cms のロゴを表示するようにしています。 2ページ目以降は htmx が担当し Ajax で更新しています 1ページ目を表示し、どこかのリンクをクリックすると Ajax で部分的にページを更新するような実装になっています。この時には a-blog cms のロゴだったところが、htmx に変わっている事で確認できます。 History API の活用( hx-push-url ) 一般的には htmx の属性で hx-push-url="true" と追加することで、htmx でページを書き換えた際にブラウザの URL も変更されます。また、URL 以外にタイトルタグの更新も簡単にできるため、ページ全体をリロードしない部分的な更新であっても、ブラウザの履歴にはクリックするたびにタイトルと URL が記録されます。そのため、ブラウザの戻るボタンで前のページに戻ることが可能になります。 今回の実装では、この書き換えられた URL でブラウザのリロードをした場合に a-blog cms が同様のページを生成できるように、hx-push-url="{url}" のように URL を指定し History API に書き込む情報を調整しています。 htmx 化する際の実装方法 リンクの修正 通常 <a herf="{url}"> と書かれているようなリンクを以下のように修正します。 今回は、ほとんどのリンクが entry-body.html のテンプレートを利用して部分的にページを更新する事になりました。内容としては、以下のようになります。 元のリンク先 a-blog cms をバックエンドに利用する際には必要な記述 htmx でアクセスする URL を指定 History API に記録したい URL を設定 置き換えたい場所の <div id="main-contents"> <div>を残す設定 置き換えたい場所を指定 ページの上部にスクロールする a-blog cms 側の設定 「htmx でアクセスする URL を指定」で、例えば https://kazumich.com/htmx-spa-blog202405.html/tpl/include/htmx/entry-body.html と指定しているとすると https://kazumich.com/htmx-spa-blog202405.html で表示される内容を、/tpl/include/htmx/entry-body.html のテンプレートに切り替えて表示させるという指示になります。 次に、そのテンプレートについて解説します。 呼び出されるテンプレート entry-body.html 呼び出されるテンプレートについては、もともと Entry_Body のモジュールだけ書かれているテンプレートファイルですが、ここに Topicpath モジュールと、タイトルタグを生成するための Ogp モジュールを追記して1つのファイルにまとめています。 (略) (略) htmx:{title} entry-body.html のテンプレートファイルの中で hx-swap-oob="true" が付いている <div id="topicpath"> 〜 </div> は、id="topicpath" の部分が置き換わります。hx-swap-oob="true" については複数のエリアを一緒に更新ができる便利な属性になります。また、<title>〜</title> については htmx の属性をつける事なくタイトルタグを置き換えることができます。 残った HTML が、<div id="main-contents"> 〜 </div> に置き換えられる事になり、複数のエリアの置き換えが完了する事になります。 このように a-blog cms を利用するとバックエンドの処理を PHP で書くことなく、htmx を呼び出すついでに、呼び出される HTML ファイルを書き、呼び出される側の HTML にも hx-swap-oob="true" などの属性を付加するなどして相互に関連するテンプレートを HTML だけで書いていくことが可能なのです。 検索機能の実装 これまでは <a hx-get="{url}" ... > タグでリンクを作成し、htmx を動かしコンテンツを呼び出すことについて説明を書いてきましたが、次は記事の検索機能を hx-post を利用して作っていくことを解説していきます。 標準的な検索フォーム htmx 化するには hx-get で方法が身についていれば、hx-post でも同様に書くことができます。今回のフォームでの htmx を動作させる場合のトリガーには hx-trigger="submit" を利用します。 加えて name="tpl" を hidden で追加します。 これで hx-post の設定は完了です。 オマケ: input 要素に hx-trigger="keyup" で htmx を動かす キーワード検索の <input> を以下のように修正します。 <form> 自体を POST する必要があると最初は考えましたが、この <input> タグ単体でサーバーに情報を送ることができたらと考え hx-get で呼び出したい URL を指定し、hx-trigger="keyup" で GET リクエストを送ってみたところ思った動きになりました。その後、delay:1s を追加し、1秒後に動作するようにしています。 あと、hx-push-url="true" とする事で URL も https://kazumich.com/?keyword=htmx のようになります。ここでは entry-summary.html を指定しており、サブカラムの最新記事を更新しています。 hx-post で hx-push-url="true" をする際のオマジナイ History API を利用して URL を書き換える際に、hx-get であれば URL を hx-push-url="{url}" のように、この URL にしたいと事前に設定ができますが、hx-post の場合には POST 後に URL が確定し、書き換えられた URL となってしまいます。 この URL から include/htmx/**.html を削除する JavaScript になります。 addEventListener('htmx:beforeHistoryUpdate', function (event) { const proposedUrl = event.detail.history.path; const customUrl = proposedUrl.replace(/\/tpl\/include\/htmx\/.*\.html/, ''); event.detail.history.path = customUrl; }); htmx 動作後に a-blog cms の acms.js を再度起動する a-blog cms が標準提供している JavaScript で acms.js というものがあります。ページを読み込んだ後で、この acms.js が動かないと困るようなこともありますので、HTML の読み込み後に再起動します。 addEventListener('htmx:afterSwap', function (event) { ACMS.Dispatch(event.target); }); ※ 現在、シンタックスハイライトが上記の JavaScript を書いても動作していない問題を抱えています。その点は改善された際にアップデートします。 a-blog cms で作られたブログを SPA にする ヘッドレスCMS を活用して JSON を相手に、SPA ブログを作ろうと思うと少しづつ SPA 化していくというよりは、最初からそのように実装していく事になります。その点、今回の私のブログを SPA 化する際には、部分的にこの部分を htmx を動くようにしよう! を繰り返し、最終的には全てのページの遷移を htmx で動くように進めていきました。 ビルド環境も必要ないですし、htmx の利点である JavaScript を書かない = 難しいプログラミングをしない の延長で、バックエンド側である PHP も書かず、htmx属性を追加するついでに、呼び出す HTMLテンプレートを書き、またその中に htmx属性も含める。これで a-blog cms の実装ができる人であれば誰でも簡単に SPA 化していくことが可能になるのではないでしょうか。 もちろん、a-blog cms の学習コストが高いという方もいるかと思いますが、よかったら htmx@blogテーマがどんな実装になっているのか ablogcms.io の環境で試してみてください。

JavaScript ライブラリ htmx と a-blog cms は相性が良さそうだ

htmx という JavaScript のライブラリが、2023 JavaScript Rising Stars : Front-end Frameworks で 2位 になっているが、日本ではあまり聞かない。私自身も最近知ったばかりだが面白そうなので、いろいろ実験を始めたところです。 https://htmx.org/ 他にも、調べてみると 【GitHub Accelerator】GitHubが選んだ、将来有望なプロジェクト20選 というのも見つかり、その中にも htmx が選ばれているようです。 2023-04-12 : GitHub Accelerator: our first cohort and what’s next 世界的に見れば、結構話題になっているという事になります。 そんな中で、日本国内ではどんな感じかを調べてみるときのリンクを以下に。 Qiita : htmx 20件 Zenn : htmx 9件 X : #htmx lang:ja 日々少しある YouTube : htmx 日本語では数件 Google : htmx + 日本語を検索 海外と比べると、ほとんど無いと言ってもいいくらいな状況であることがわかります。 Qiita や Zenn の記事を読みつつ、何で日本では流行ってないんだろ?って考えてみると、今の日本国内ではフロントエンドのフレームワーク的なものを使おうと思う人たちは、やっぱり React や Vue のような JavaScript をしっかり書くような人が多いのではないだろうか。 そんな中で htmx は、JavaScript で実装するものではなく、HTML のテンプレートを書きつつ、必要なところだけサーバーサイドから欲しい HTML を返してくれる必要があるので、普段使ってる JSON を返してくれる ヘッドレスCMS では欲しいデータを返してくれないということになる。 そうなると、そこに学習コストをかけようということになってないのかもしれない。私の勝手な考えではありますが... 私自身が、JavaScript をバリバリ書く人ではないので、書かないでもいい!って言われると、私と似た属性の人たちに紹介したくなるので、少し初歩的なところも書いておきます。 htmx とは htmx は、ウェブページにインタラクティブな機能を簡単に追加するために設計された、HTMLを拡張するJavaScriptライブラリです。このライブラリを使用すると、サーバーと非同期に通信し、ページの一部を更新することができます。これにより、ページ全体を再読み込みすることなく、ユーザーインターフェイスを動的に更新することが可能になります。 htmx は、HTMLの属性を使用して動作します。これにより、JavaScriptをほとんどまたは全く書かずに、多くの一般的なウェブ開発タスクを実行できます。例えば、ある要素をクリックしたときに特定のURLからコンテンツを取得してその要素内に表示する、といった動作を簡単に設定できます。 htmx は、モダンなウェブ開発のアプローチの一つとして注目され、Ajax、WebSocket、サーバー送信イベント(SSE)などの技術をより簡単に活用できるようにすることを目指しています。 htmx の主な特徴 以下のような主な特徴を持っています。 簡単なインストールと設定 単一のJavaScriptファイルを HTML に追加するだけで利用開始できます。 HTMLを拡張する 特別な hx-* 属性をHTMLタグに追加することで、非同期通信 ( ajax ) や DOM の更新を行うことができます。 簡潔さとアクセシビリティ インタラクティブな Webアプリケーションを作成するために、JavaScript のコードをほとんどまたは全く書く必要がありません。 Click Me! 上記は、公式サイトにあるサンプルコードでは、(Click Me!)ボタンをクリックすると、https://example.com/clicked に POST して、取得した HTML を id="parent-div" と置き換える処理が実行されます。 開発者は複雑なJavaScriptやフレームワークに頼ることなく、HTMLの拡張を通じてインタラクティブなウェブアプリケーションを構築できます。これにより、コードベースが簡潔に保たれ、メンテナンスや理解が容易になります。 低い学習曲線 HTML属性を利用することで機能を実現します。そのため、HTMLの基本的な知識があれば、追加のプログラミング言語やフレームワークを学ぶことなく、すぐに使用を開始できます。 サーバー中心のインタラクション設計 サーバーサイドのロジックを活用して、クライアントサイドのインタラクティビティを向上させます。これにより、サーバーとクライアント間の連携が強化され、開発プロセスが合理化されます。 この htmx の通信をするサーバー側の処理を簡単にできたら、さらに便利に htmx が使えそうではないですか。 スムーズな統合性 既存のウェブアプリケーションに簡単に統合でき、大規模な書き換えを必要としません。これにより、従来のウェブサイトを段階的にアップグレードすることが可能になります。 パフォーマンスと効率 必要な部分のみを更新することで、全体のページリロードを避けます。これは、帯域幅の使用を削減し、アプリケーションのパフォーマンスを向上させます。 幅広い互換性 現在、リリースされている htmx 1.x では IE11 もサポートしているようです。もちろん現代のブラウザであれば問題なく動作します。 2.0.0-alpha1 リリース され、IE のサポートを終了したそうです。(もう IE は対応しないでいいですよね) htmx と a-blog cms の相性が良さそうな理由 htmx のことを調べて、ここに辿り着いた人は a-blog cms なんて知らないかもしれないので、少しだけ説明をしておきます。 a-blog cms とは PHP + MySQL で動作する国産の ローコードCMS で、基本的には HTMLファイルとしてテンプレートを作り、PHP や JavaScript など難しい事は書くことなくウェブサイトを作ることができる CMS(コンテンツ・マネージメント・システム)です。 https://www.a-blogcms.jp/ a-blog cms には htmx に似た Ajax 機能が標準搭載 a-blog cms には post include 機能 という名称で10年前から htmx のような ajax 機能を用意しています。よく利用される記述をサンプルコードを紹介します。 class="js-post_include-ready" がある form では、ページが表示された後に include/sample.html を読み込みます。また、sample.html には以下のようなコードが書かれているとします。 {title} これで、何件かのリストが表示されることになります。 このように、a-blog cms では標準的な機能として、Ajax でリクエストがあった情報を部分的に HTML で返すことができる機能を持っています。 これ htmx でやってることと同じです。もちろん、これまで通り純正の post include で作るということでもできますが、htmx の方が機能が豊富なので、置き換えることも可能ではないだろうかと考えています。 実際の post include の動作デモ 以下の青いボタンをクリックすると、このブログの新着記事を5件 Ajax で読み込み、その読み込まれたコードにも続きを読むボタンがありますので、繰り返し読み込むことができるようになっています。 a-blog cms の post include は、標準的に消して、出てくるアニメーションがついているので、下の htmx のデモと違うもので動いているのが分かりやすいと思います。 ボタンのコード class="js-post_include" がある <form> タグは画面を遷移せずに、Ajax でコンテンツを読み込みます。 読み込まれる sample.html のコード 上半分が記事の一覧を読み込む部分で、下半分が続きを読むためのボタンのためのコードになります。 {title} post include を htmx に置き換えてみる やる事は簡単で <form> タグ部分の属性を書き換えます。見やすく属性毎に改行していますが、もちろん 1行でも大丈夫です。 ボタンのコード こちらは https://kazumich.com/include/sample-htmx.html を GET で読み込むように設定してみました。 読み込まれる sample.html-htmx のコード こちらは、何ページ目という情報を POST で渡すカタチで書いています。 {title} head タグに追加する htmx のライブラリを読み込むコード a-blog cms のテンプレートの中で、htmx を呼ぶためには、hx-ext="ajax-header" を追加する必要があります。そして、これを利用するためには、<head> タグ内に以下のように htmx のライブラリとあわせて ajax-header.js も読み込みます。 最後に htmx で渡される HTML 自体をテンプレートとして表示部分を記述し、POSTするだけで a-blog cms は結果を HTML として返してくれます。上記のサンプルコードをご覧になれば、htmx が簡単に Ajax 部分を処理してくれているのと同様に、a-blog cms が必要な HTML を整形してくれることがわかります。 必要な部分だけ JSON で返してくれる ヘッドレスCMS と違い、必要な部分だけ HTML を返してくれる機能を a-blog cms は持っているのです。このように、a-blog cms と htmx の相性はとってもいいのではないかと考えています。 ローカル環境での利用や、個人が非商用で利用する際には無料で、費用はかかりません。htmx の学習の環境として a-blog cms 使ってみませんか?

Chat GPT が書く a-blog cms の紹介ブログ記事

このブログ記事は、2024年1月24日に、Chat GPT 4 に以下の手順で書いてもらった文章になります。以下のようなプロンプトを書いています。番号1つ分を書くことで Chat GPT 4 から返答があり、続けて次の番号のテキストで返信しました。 a-blog cms を紹介するブログの記事を1つ書きたいと思っています。 ご存知ですか? 実際に書いていくお手伝いをお願いします。まずは見出しを決めていきたいです。 1つ目の見出しから文章を書いていきましょう。 次に2つ目 3つ目 …. 書かれたものをコピペ さすがに、開発している会社名が間違っている部分だけは、取り消し線で消し、その後に修正テキストを追記しています。それ以外は何も修正せず、コピペ記事にあえてしています。文字数としては 3,800文字くらいになりました。 a-blog cms をご存知の方からしたら内容としては、どうでしょう? これは実験的な記事になりますので、記事を複製して、キャプチャを付けたり、私として補足したいテキストを追加したバージョンも作ってみようと思っています。 はじめに: a-blog cmsとは? Webサイト制作の現場では、コンテンツ管理システム(CMS)の選択が非常に重要です。多くの選択肢の中で、日本国内で注目を集めているのが「a-blog cms」です。このCMSは、ユーザーの柔軟なニーズに応えるため、高いカスタマイズ性と使いやすさを兼ね備えています。 a-blog cmsは、株式会社アップルップ 有限会社アップルップルによって開発されました。特に日本のWebサイト制作者や企業に向けて設計されており、日本国内の法規制に準拠したセキュリティ対策が施されている点が大きな特徴です。また、レスポンシブWebデザインに対応しており、スマートフォンやタブレットからのアクセスにも柔軟に対応します。 この記事では、a-blog cmsの基本的な特徴、主な利用シーン、そして実際の導入メリットについて詳しく掘り下げていきます。これからWebサイトを構築しようと考えている方、またはCMSの変更を検討している方にとって、有益な情報を提供することを目指します。 a-blog cmsの主要な特徴 a-blog cmsの魅力はその多様な機能とユーザーフレンドリーな設計にあります。ここでは、特に注目すべきいくつかの特徴を詳しく見ていきましょう。 高度なカスタマイズ性 a-blog cmsは、テンプレートの柔軟なカスタマイズを可能にします。これにより、ウェブサイトのデザインを自由に調整し、独自のブランドイメージを強く打ち出すことができます。また、HTMLやCSS、JavaScriptに精通している開発者にとっても、非常に使いやすいプラットフォームです。 ユーザーフレンドリーな管理画面 管理画面は直感的で理解しやすく、技術的な知識がないユーザーでも容易にコンテンツの追加や編集が行えます。これは時間の節約にもつながり、コンテンツ管理の効率を大幅に向上させます。 セキュリティと安定性 日本国内の法規制に準拠したセキュリティ対策が施されているため、個人情報の保護やデータの安全性が高く評価されています。定期的なアップデートにより、セキュリティの脅威からウェブサイトを守り続けます。 スマートフォン・タブレット対応 レスポンシブデザインに対応しているため、どのデバイスからアクセスしても最適な表示が可能です。これは、モバイルファーストの時代において非常に重要な機能です。 SEO対策の容易さ 検索エンジン最適化(SEO)は現代のウェブサイト運営において不可欠です。a-blog cmsでは、SEOに有利な構造が組み込まれており、高い検索エンジンランキングを実現しやすくなっています。 実践的な利用シーン a-blog cmsはその柔軟性と機能性から、さまざまなウェブサイトで効果的に利用されています。ここでは、具体的な使用例をいくつか挙げて、a-blog cmsの実践的な応用を探ります。 企業の公式サイト a-blog cmsは、企業のブランドイメージを反映したオリジナルのデザインを容易に実現できます。製品情報の更新、ニュースリリースの公開、顧客からの問い合わせへの対応など、日常的なウェブサイト運営がスムーズに行えるため、多くの企業で採用されています。 オンラインショップ 商品の陳列や在庫管理、注文処理など、オンラインショッピングに必要な機能を統合して提供します。カスタマイズ性の高さは、オンラインストアの独自性とブランディングに寄与します。 ポータルサイトやニュースサイト 情報量の多いポータルサイトやニュースサイトでは、大量のコンテンツを効率的に管理・公開する必要があります。a-blog cmsは、こうした高い要求に応えるための機能を備えており、更新作業の効率化を実現します。 ブログや個人サイト 個人のブログやポートフォリオサイトでも、a-blog cmsはその簡便さとカスタマイズの自由度から選ばれています。デザインの自由度が高く、個人のスタイルや趣味を反映させやすいのが特長です。 a-blog cmsの導入メリット a-blog cmsを選択する最大の理由は、その導入によって得られる多くのメリットです。ここでは、特に重要な利点をいくつか挙げてみましょう。 効率的なウェブサイト管理 a-blog cmsの直感的な管理画面と高度なカスタマイズ性により、ウェブサイトの日常的な管理が大幅に効率化されます。これにより、時間とリソースを節約し、他の重要な業務に集中できるようになります。 優れたユーザーエクスペリエンス レスポンシブデザインの対応により、どのデバイスからアクセスしても快適な閲覧体験を提供できます。これは、訪問者の満足度を高め、リピート率の向上につながります。 強化されたセキュリティ 日本の法規制に準拠したセキュリティ対策は、ウェブサイトをオンラインの脅威から守ります。これにより、企業やユーザーの信頼を保つことができ、ブランドイメージを守ります。 SEOの最適化 a-blog cmsのSEOフレンドリーな設計は、検索エンジンでの可視性を高めるための重要な要素です。より多くのトラフィックを獲得し、ウェブサイトの影響力を拡大することが可能です。 コスト効率の良さ 初期設定や日々の管理において、ユーザー自身で簡単に行える点は、長期的に見てコスト削減につながります。外部の専門家に依頼する必要が減るため、特に中小企業やスタートアップにとっては大きな利点となります。 a-blog cmsの設定とカスタマイズ a-blog cmsの魅力の一つは、その設定とカスタマイズのしやすさにあります。ここでは、基本的な設定方法とカスタマイズのポイントについて説明します。 基本設定の手順 a-blog cmsを使用するための最初のステップは、基本設定を行うことです。これには、サイトの名前や言語設定、テンプレートの選択などが含まれます。管理画面は直感的に設計されているため、このプロセスは比較的簡単に完了できます。 テンプレートのカスタマイズ a-blog cmsの大きな特徴は、テンプレートの高いカスタマイズ性です。既存のテンプレートをベースにして、独自のスタイルや機能を追加することが可能です。HTMLやCSSの知識があれば、さらに細かい調整ができます。 プラグインと拡張機能の利用 a-blog cmsは多くのプラグインや拡張機能をサポートしています。これにより、フォーム作成、ソーシャルメディア統合、SEO最適化など、さまざまな追加機能を簡単に導入できます。 コンテンツ管理の効率化 a-blog cmsでは、記事やページの追加、編集が容易です。また、カテゴリーやタグの管理を通じて、コンテンツを効果的に整理し、ユーザーにとってナビゲートしやすいサイト構造を構築できます。 a-blog cmsを使用したユーザーの声 a-blog cmsの実際の効果をより深く理解するためには、実際にこのシステムを使用しているユーザーの声を聞くことが重要です。ここでは、さまざまな業界のユーザーからの実際のフィードバックを紹介します。 中小企業のウェブ担当者 「a-blog cmsの導入により、私たちのウェブサイト管理が大幅に簡素化されました。直感的な管理画面と簡単なコンテンツ更新システムのおかげで、日々の運営が効率的になり、他の業務にもっと時間を割くことができています。」 フリーランスのウェブデザイナー 「a-blog cmsのカスタマイズの自由度の高さには本当に感動しました。クライアントのニーズに合わせて、細かい部分までデザインを調整できるので、よりクリエイティブな仕事ができるようになりました。」 オンラインショップオーナー 「私のオンラインストアはa-blog cmsで構築されています。製品管理と注文処理がとても簡単で、顧客からの反応も良いです。特にモバイル対応のおかげで、スマートフォンユーザーからのアクセスも増えました。」 個人ブロガー 「初心者でも簡単に扱えるのがa-blog cmsの最大の魅力です。ブログのセットアップが簡単で、カスタマイズも自由自在。自分の個性を反映したブログを作ることができて、大満足しています。」 まとめと今後の展望 この記事を通じて、a-blog cmsの多様な特徴と実践的な利用シーン、さらには実際のユーザーの声を紹介しました。a-blog cmsはその柔軟性、ユーザーフレンドリーなインターフェース、そして強固なセキュリティにより、多くのウェブサイト制作者に選ばれています。 今後、a-blog cmsは技術の進化と共にさらに多機能性やユーザビリティを向上させていくことが予想されます。人工知能の統合、より高度なカスタマイズオプション、さらにはグローバルな市場での展開など、様々な革新が期待されています。 ウェブサイト制作を検討している方々、または既存のCMSからの乗り換えを考えている方々にとって、a-blog cmsは非常に魅力的な選択肢となるでしょう。その使いやすさ、柔軟性、そして強固なセキュリティは、今後も多くのユーザーに支持され続けることでしょう。

PhotoCollage.js を a-blog cms のブログテーマに実装してみた

数年前のインターンの課題として「Facebook の複数枚写真をアップロードした際に、写真をレイアウトしてくれる JavaScriptライブラリを作ってみよう! 」というお題を出していた時期があります。 3日間コースで、まずは静的な HTML と CSS で、2枚の時、3枚の時のような感じで複数のパターンを作って、その後 JavaScript を利用してターゲットの HTML に Class を振っていくという感じ。 JavaScript が苦手でも CSS と格闘しつつ、いろいろな場合に対応できない感じでも、できる学生さんなら1日5時間で2日目の終わりには、ある程度動く感じまで作ってくる人もいました。 その後、長期インターンで何度も作り直して、公開しても大丈夫そうなところまで出来上がったものを「PhotoCollage.js」という名前で公開しています。しかし、インターンの学生さんが作ったもので、あまり公式にどうだろう?ってところもあり使われないままになっていました。 PhotoCollage.js の特徴 いろいろな HTML に対応しています。 表示している画像とリンク先は別で扱うようにしています。 smartPhoto.js の利用も考慮して設計されています。 画像のパスは src なのか data-src なのか指定も可能です。 生成されるHTMLソースの各所に Class や attribute の設定が可能です。 オプション 以下のようなオプションを設定できるようになっています。 ダウンロード GitHub に公開されていますので、そちらからダウンロードしてご利用ください。 https://github.com/appleple/PhotoCollage a-blog cms のブログテーマで利用するには CSS と JavaScript のファイルをご自身の blog テーマディレクトリに入れてください。 /css/photocollage.css /js/photo-collage.bundle.js _entry.html に追加 @section("head-link") @parent @endsection @section("head-js") @parent document.addEventListener("DOMContentLoaded", function () { const elements = document.getElementsByClassName('js-photocollage'); Array.from(elements).forEach((element, index) => { element.classList.add('js-photoCollage-' + index) new PhotoCollage(".js-photoCollage-" + index, { srcAttribute: "data-src", gap: "5px", margin: "0px 0px 35px 10px", imgClass: "js-lazy-load", aAttribute: { "data-group": "group-" + index, "data-rel": "SmartPhoto", } }); }); }); @endsection 17行目の margin を margin: "0px 0px 35px 10px" と設定をしました。 21行目の "data-rel": "SmartPhoto" に変更することで、a-blog cms の SmartPhoto が動作します。 css/photocollage.css を修正 a-blog cms のユニットの仕様の関係で左右に 10px 狭くしないといけない関係で、width : 100% のところを -20px 減らすように /css/photocollage.css の .photocollage を修正しています。 calc ってのを使った事なかったのですが、イマドキは便利になってるもんですね。 .photocollage { position: relative; /* width: 100%; */ width:calc(100% - 20px); height:100%; } @media screen and (max-width: 1024px) { .photocollage { width: calc(100% - 20px); height:100%; } } a-blog cms の管理画面の設定 編集画面設定のユニットグループにクラスは js-photocollage とし、ラベルは自由ですが photocollage としておきます。 投稿画面の指定として ユニットグループ設定で、photocollage を選択します。解除するには、1カラム を選択することで以下のユニットは JavaScript のライブラリの対象外になります。 最後に たくさんの写真を撮って、それをブログの記事に、まとめて貼っておきたい。全部みたい時には SmartPhoto の機能でスライドして見ることも可能です。よろしければ使ってみて感想を X の #ablogcms ハッシュタグをつけてお知らせください。 https://github.com/appleple/PhotoCollage

Contact

お問い合わせはこちら