Hero Image
Webサイトの投稿機能

1. NetlifyCMSでWebサイトの投稿機能追加 今回は、ヘッドレスCMSであるNetlifyCMSの公式サイトに沿ってHUGOサイトの投稿機能構築の仕方を簡単に説明します。 なぜNetlifyCMS? NetlifyCMSの投稿機能を使うとAPIの作成など時間をかけずに投稿者自身がWEB上で記事を書けるようになります。 今回の主題であるNetlifyCMSを使えば、誰でもWeb上で投稿できるようになります。NetlifyCMSは、シンプルで視覚的に簡単に理解できます。NetlifyCMSのデモサイトがありますので体験できます。 NetlifyCMSは、OSSであり公式サイトによると以下のような特徴があります。 1).最新のフロントエンドツールを実装して、より速く、より安全で、よりスケーラブルなサイトを提供することができます。編集者は、コンテンツ管理要件を満たすわかりやすいUIと直感的なワークフローを提供します。 2).編集者に優しいユーザーインターフェース Web ベースのアプリには、リッチ テキスト編集、リアルタイム プレビュー、ドラッグ アンド ドロップ メディア アップロードが含まれています。 3).コンテンツチームのための直感的なワークフロー 作成者と編集者は、下書きからレビューまでのコンテンツを簡単に管理して、任意の数のカスタム コンテンツ タイプにまたがって公開できます。 4).GitHub アカウントを使用しないインスタントアクセス Git Gateway を使用すると、GitHub アカウントを持っていない場合でも、すべてのチームメンバーに CMS アクセスを追加できます。 5).JANstack上に構築 Netlify CMS は、クライアント側の JavaScript、再利用可能な API、および事前に構築されたマークアップに基づいています。WordPressのようなサーバー側のCMSと比較して、より良いパフォーマンス、より高いセキュリティ、より低いスケーリングコスト、そしてより良い開発者体験ができます。 2. NetlifyCMSのインストール 既存のサイトに追加もできますが、今回はテンプレートを使ってインストールします。 2-1. テンプレートから始める Github1とNetlify2への登録は、済んでいるとします。 NetlifyCMSサイトの以下のページに行き「Deploy to Netlify」をクリックします。 上記のボタンをクリックした後、GitHubで認証し、リポジトリ名を選択します。Netlify は、GitHubアカウントにリポジトリのクローンを自動的に作成します。次に、Netlify で新しいサイトをビルドして展開し、ビルドの完了後にサイト ダッシュボードに移動します。 リポジトリ名を「hugo-cms」にしています。「Save & Deploy」をクリックします。 Netlifyの画面が表示されdeployが始まり、完了するとサイトが表示されます。 KALDIというサイトです。 Githubのリポジトリを確認します。「hugo-cms」が新規に作成されています。 2-2. 新しいサイトでNetlifyCMS にアクセス 登録しているメールアドレスに招待メールが届きますので、Netlifyでのデプロイが完了していること確認後「招待を承諾する」をクリックします。 パスワードを入力し、サインインすると、CMS に移動します。 登録が完了しログイン状態になりますので、この状態でCMSへアクセスします。 <yoursiteaddress.com>/admin/へアクセスするとCMSを表示することができます。 投稿を追加および編集するか、[製品] ページのコンテンツを変更してみてください。保存すると、変更はすぐにGitリポジトリにプッシュされ、Netlifyでビルドがトリガーされ、サイトのコンテンツが更新されます。 編集画面です。「Pubilsh」をクリック後サイトが反映するまでに少し時間がかかります。 編集が反映された画面です。 サイトのGithubリポジトリの編集内容の確認画面です。 2-3. NetlifyCMSのアクセスアカウントの追加 Githubに登録されていたメールは登録されています。パスワードは最初に登録したものとなります。 Netlifyにログイン後、招待したいアカウントを追加します。

Hero Image
高速なWebサイト

1. ページの表示速度が早いWebサイト Hugoの公式サイト1によると パフォーマンスは、Googleが最近ページの読み込み時間とSEOに焦点を当てていることを考えると、必要な利点です。 Hugoのような静的なサイトジェネレータを利用することは、WordPressのようなフル機能のCMSより、検索ランクで競合他社のブログを凌駕する優れた方法です。 静的なオープンソースWebサイト2は、特にフル機能の(しかし肥大化した)コンテンツ管理システムの負担を負うサイトと比較して、信じられないほど高速です。 静的なHUGOのウェブサイトを選ぶことは、明白な利点として表示スピードの自社サイトを公開できます。 よりよい性能 デプロイ時にページを生成できるのに、ページがその場でビルドされるのを待つのはなぜですか?最初のバイトまでの時間を最小限に抑えることになると、CDN3を介して提供されるビルド済みファイルに勝るものはありません。 より高いセキュリティ Hugoはオープンソースの静的サイトに関するものであるため、WordPressに存在するセキュリティホールが欠けています。サーバー側で悪用されるものは何もありません。実行するPHPも、スクリプトも、何もない。これにより、Hugo静的サイトジェネレータは非常に安定し、セキュリティ侵害に対する価値のある敵であることが証明されます。 より安く、より簡単なスケーリング デプロイメントがどこにでも提供できるファイルのスタックになる場合、スケーリングはそれらのファイルをより多くの場所に提供することの問題です。CDNはこれに最適であり、多くの場合、すべてのプランにスケーリングが含まれています。 カスタマイズ 静的なWebページは、コンテンツとWebデザインを100%制御できます。WordPressのようなCMSではなく、静的なサイトジェネレータを検討することは、異なるデザインのさまざまなランディングページを作成することを計画している場合は特に理にかなっています。Hugoのウェブサイトには、編集中にWebページを自動的に更新するライブリロードシステムがあり、開発中のカスタマイズとパーソナライゼーションが驚くほど簡単になります。 2. HUGOを使ったサイト制作サービス Hugoは、ブラウザよりもテキストエディタで書くことが必要です。 Hugoは、複雑なランタイム、依存関係、データベースの設定を心配することなく、Webサイトを手作業でコーディングが必要です。 Hugoは、ブログ、会社のサイト、ポートフォリオサイト、ドキュメント、単一のランディングページ、または数千ページのウェブサイトを構築することができます。 ブログ、ポートフォリオ、会社のWebサイト、雑誌、ドキュメントサイトなどのサイトは、静的サイトジェネレーターを使用して、スピーディに作成いたします。 RAIZINでは、HUGOサイトの制作サービスを提供しておりますので、気軽にご相談ください。 3. 自社投稿機能の提供 投稿(記事)するためだけのシンプルなCMSが必要となります。(ヘッドレスCMS4と言います。) 「リッチテキスト編集」「リアルタイムプレビュー」「ドラッグアンドドロップによるメディアアップロード」などの機能を備えています。 また、HUGOサイトと投稿CMSの連携が、必要となります。 通常、ウェブサイトの作成には多大な時間の投資が必要です。それを開発し、維持し、そしてホストすることの経済的コストを計画しなければなりません。自社で開発する場合は、重要な技術的知識が必要です。これは多くの人がそれらを構築することを思いとどまらせることがよくあります。ただし、すべてのWebサイトを実行するために、複雑なアーキテクチャやコストのかかるリソースが必要なわけではありません。 当社では、サイト全体の構築後、「自社投稿機能」を提供するサービスをしていますので、気軽にご相談ください。 HUGO公式サイトから引用です。 ↩︎ WordPressのような従来のデータベース駆動型サイトの構造で構築されています。このタイプのWebサイトは、不格好で、読み込みが遅く、開発者が維持するのが面倒で、ハッカーに対して脆弱です。静的サイトは、これらの問題の多くに対処することができ、ウェブサイトのニーズによりよく役立ちます。 ↩︎ コンテンツ配信ネットワーク (CDN) とは、地理的に分散したサーバーのグループを指し、連携してインターネット コンテンツを高速に配信します。 CDN を使用すると、HTML ページ、javascript ファイル、スタイルシート、画像、ビデオなどのインターネット コンテンツを読み込むために必要なアセットをすばやく転送できます。CDNサービスの人気は高まり続けており、今日では、Facebook、Netflix、Amazonなどの主要サイトからのトラフィックを含む、Webトラフィックの大部分がCDNを介して提供されています。 ↩︎ システム内でコンテンツとデータを作成、編集、および保存することはできますが、従来の CMS からの逸脱はテンプレートにあります。CMS テンプレート システムを使用してページを作成する代わりに、そのすべてが CMS の外部にある別のフレームワークにオフロードされます。これは、システム内のコンテンツにデータとしてアクセスできるようにするアプリケーション・プログラミング・インターフェース (API) を介して実現されます。 ↩︎

Hero Image
HugoサイトのPWA対応

1. Hugoで構築したサイトをPWA化 1-1. PWAとは PWAとは、「Progressive Web Apps」の略称で、モバイル向けWebサイトをスマートフォン向けアプリのように使えるようにする仕組みです。 PWAはそれ自体が何か特殊な一つの技術、というわけではありません。レスポンシブデザイン、HTTPS化など、Googleが定める要素を備えたWebサイトであり、オフラインやプッシュ通知に対応するためのブラウザAPI(Service Workerなど)を利用しているWebサイトをPWAと呼びます。 Web アプリ マニフェストを追加する方法 本サイトでは、トップページのみPWA化となります。 1-2. 手順 manifest.webmanifestの作成 icon画像の作成 icon画像の配置 manifest.webmanifestの修正と配置 ブラウザでmanifest.webmanifestの内容が表示されていることを確認 Service Workeの作成 Service Workeの配置と確認 1-3. manifest.webmanifestの作成 Simi Cartのサイトは、PWA マニフェスト ジェネレーターとして「Web アプリ マニフェスト」と、PWA 用にサイズが最適化されたアイコンを自動的に生成してくれます。 display:standaloneとしました。 Web アプリを開いて、スタンドアロン アプリのようなルック アンド フィールにします。アプリは、ブラウザーとは別の独自のウィンドウで実行され、URL バーなどの標準のブラウザー UI 要素を非表示にします。 scope:ブラウザーがアプリ内にあると見なす URL のセットを定義し、ユーザーがいつアプリを離れたかを判断するために使用されます。scopeは、Web アプリのすべてのエントリ ポイントと出口ポイントを包含する URL 構造を制御します。scope,scope,start_url,scope内に存在している必要があります。 scope が相対 URL である場合、ベース URL はマニフェストの URL になります。 スコープは、ナビゲーションを現在のサイトに制限します。 "scope": "https://example.com/" ナビゲーションを現在のサイトのサブディレクトリーに制限します。 "scope": "https://example.com/subdirectory/" (注意)scope:ユーザーがアプリ内で の外部に移動するリンクをクリックするscopeと、リンクが開き、既存の PWA ウィンドウ内でレンダリングされます。 target="_blank"リンクをブラウザー タブで開く場合は、タグに追加する必要があります。Android では、リンクはChrome カスタム タブ**target="_blank"**で開きます。 { "theme_color": "#a4115e", "background_color": "#f2f4f4", "display": "standalone", "scope": "https://raizin.

Hero Image
JamStackサイト制作手順

1.各種登録 カスタムドメイン登録サイト:例)Google Domain ソース管理サイト:例)Github,Gitlab アプリのビルド&デプロイ:例)Netlify ヘッドレスCMS:例)microCMS、Strapi(自分でクラウドに構築) 2.画面設計と文章・画像の準備 メインアイコン、faviconの作成 アイキャッチ画像の準備(wepb、svg、jpegなど) 顧客の準備できる画像の加工 基本的な顧客情報、商品などの説明 3.Hugoのテーマの選択 Hugoのテーマは、200以上あります。 当社では、「Hugo Serif」を採択しています。 4.HugoのインストールとGitHubへpush ローカルPCへHugoのテーマをインストールします。 当社では、WSLのUbuntu22.04となります。 GitHubへソースをpushします。 5.Hugoの各種設定と配置 基本的な設定をします 画像、文章を配置します。 6.ヘッドレスCMS ヘッドレスCMSは、お客様が必要な場合に準備します。 当社のサイトは、ローカルPCで編集したものをGitHubへpushしています。 ヘッドレスCMSのAPI連携を構築します。 小さな個人・法人サイトでは、microCMSは、無料で使えるの便利です。 Strapiは、ある程度のスペックが必要ですので注意が必要です。 弊社のサンプルアプリは、Strapiを使っています。 7.Netlifyへ連携 Netlifyは、Github,GitLabと簡単に連携できます。 カスタムドメインとSSLの設定をします。 「Google DomainのDNS」で事前にNetlifyのIPを設定しておきます。 8. デモアプリ Strapiを使ったサンプルアプリ(SQLite) Sveltekit×Render.com(Strapi)×Github×Netlify 以上

Hero Image
サイトのリニューアル

はじめに RAIZINのサイトでは、記事が増えましたのでHugoのドキュメント管理機能をフルに使ったサイトにリニューアルしました。 本サイトで、ドキュメント管理機能を楽しんでください。 旧サイトは、「 https://raizin-site.netlify.app/ 」 に置いてあります。 1. Hugoを使ったドキュメント管理 実用的で信頼性の高いドキュメント サイトを迅速に稼働させ、ユーザーにとって優れたコンテンツに集中することができます。 大規模な文書セットに対して便利な文庫構造のスケルトンを自由に設計できます。 マークダウン(Markdown)形式ですの統一化された文書様式が設計できます。 データベースを使いませんので、文庫構造の追加・変更が簡単にできます。 カテゴリ、タグ、作成者、日時、公開・非公開、表示順位などの要素が追加できます。 非公開の文庫を運営することも可能です。 2. フロントマター(Front Matter) Hugo では、コンテンツ(Markdownファイル)のタイトル、日付、カテゴリや任意のパラメータ等のメタデータを追加することができます。 メタデータはコンテンツファイルの先頭で指定しますが、この部分をフロントマターと呼びます。 フロントマターの例 yaml形式です。 サイドバーへの表示、表示順、タグ、カテゴリを設定しています。 - - - title: "サイトのリニューアル" published: true date: 2022-07-10T08:06:25+06:00 description: "RAIZIN Inc.のサイトをリニューアルしました。" menu: sidebar: name: "サイトのリニューアル" identifier: 001-open parent: 10-2023 weight: 10001 tags: ["サイト","RAIZIN","ドキュメント","DX","ペーパレス","Hugo"] categories: ["Basic", "ニュース"] hero: 001s.webp - - - 3. 必須パラメータ title コンテンツのタイトル date コンテンツの日付(ソートに使用されます) 4. オプションパラメータ description コンテンツの説明文 draft: 下書きフラグ true に設定するとビルド時に –buildDrafts オプションを つけなければページが生成されません。 publishdate: 発行日 true に設定するとビルド時に –buildFuture オプションを つけなければページが生成されません。 type: コンテンツのタイプ 詳しくは前回のエントリを参照ください。 isCKJLanguage: 日本語韓国語中国語を含む場合は true を設定してください。 サマリーや文字数カウントに影響します。 config.

Hero Image
文書の管理

1. はじめに 1-1. 文書のペーパレス化の課題 業務 業務ノウハウを蓄積し活用したい 関係者が流用できる文書のひな型をデータベース化したい ひな型を作るルールを標準化したい ペーパレス化したい 検索ができるようにしたい 担当者のみが詳細を把握している状態の属人化をできるだけ避けたい。 同じような文書を担当者が変わる度に作成する無駄をなくしたい。 ブラウザがあれば業務が完了できるようにしたい 遠隔地からも同じ作業ができるようにしたい 様式美のためにやっている文書作成作業を軽減したい 部署毎の文書作成ローカルルールをなくしたい 文書作成コストを下げたい Word、Excelの課題 Word、Excelがないと読めない バージョン管理がしにくい 共同編集がしにくい 装飾と文章構造が分離されていない 差分が見にくい 機械可読性に欠ける 検索が難しい 大量の文書管理がファイルベースとなり管理が難しい ファイルの所在さえも担当者以外わからないことが多い。 同じような文書を何度も作成している。 文書の内容が多いと文書自体の装飾や編集に時間がかかります。 PDFの課題 スマートフォンで読みにくい 検索性が乏しい 編集できない バージョン管理がしにくい 再利用しにくい 機械可読性に欠ける 1-2. 構造化テキスト(Markdown形式1) マークダウン形式の文書で保管することのメリット 文章構造と表示部分が分離された軽量なフォーマットになります。 手軽にドキュメントを装飾できるフォーマットが使えます。 このことにより、流通性が高まり、部署、場所をまたいで利用できるようになります。 ファイルをダウンロードすることなく、多くの人の目に届けられる。 ファイルをメール等で送付することなく修正・校正、コメントなどフィードバックを得やすくすることが可能 システム化が簡易になります。このことにより以下のメリットがあります。 文書管理が簡単になり、属人化が避けることで文書資産を幅広く活用できます。 部署などの文書作成のローカルルールが公開することで誰もが理解できるパブリックなルールとなります。 検索が可能となり、文書の作成時に利用できる。 ブラウザ上で閲覧可能となります。 画像、動画などの管理もシステムで管理・共有・流用できます。 マークダウンは、PDFやHTMLへも変換は容易にできます。 共同編集が可能1となります。 文書の履歴管理ができるようになり、最新版の様式をいつも使えます。 レビューやコメント機能が使えます。 既存のWord文書内容の流用ができます。 マークダウン形式の文書で保管することのデメリット 管理するためには、やはりシステムが必要 マークダウン形式の文書作成に統一するコンセンサスが得られるか(これが最も難しい) 2. システム開発 前章で求められる機能を実現できるシステムは、どのようなものかまとめます。 2-1. 要件 文書の構文が、自由に作成 文書の構文をもとに作成された文書(ページ)は、この単位でマークダウンファイルとして保存 文書の編集は、公開・非公開、部署・担当者・業者、プロジェクト毎に閲覧・編集権限の管理 全文検索かつ検索結果の制限 ブラウザ上で閲覧・編集 画像(写真)、動画などの管理もシステムで管理・共有・流用 マークダウンは、PDFやHTMLへも変換 共同編集が可能1 履歴管理 レビューやコメント機能 既存のWord文書内容の流用 地方の県レベルで、毎年最低10万ページ作成可能(システムの拡張性) 同時アクセスが1万件程度 公開・非公開、部署・担当者・業者、プロジェクト毎に閲覧・編集権限の管理 データの暗号化 2-2.