簡単なウェブサイトツール。 NIMファイルを実行し、Webページにアクセスします。ウェブサイト:https://nimwc.org

feature.mdの詳細を参照してください
開始するには、必要なだけです。
1.6.14 ( + 2.0でテスト)オプションの依存関係(デフォルトで無効):
libwebp )(webpを使用する場合にのみ必要)0.9.58 (Firejailを使用する場合にのみ必要)xorg-server-xvfb 、Firejail設定noX= )コンパイルしてインストールするには、NIMが必要です。 choosenimを使用してnimを簡単にインストールできます。
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
1aまたは1bまたは1cを実行するだけでは、両方を実行する必要があります。
# Install nimwc with nimble
nimble install nimwc
# Edit the config.cfg accordingly
# (change the confg.cfg path to your nimble folder and the correct package version)
nano ~ /.nimble/pkgs/nimwc-[PACKAGE-VERSION]/config/config.cfg
# Run nimwc
# (to add an Admin append the arg "newadmin": nimwc --newadmin)
# (to include some standard pages: nimwc --insertdata)
nimwc
# Login
127.0.0.1:7000/loginこれにより、フォルダー内の実行可能ファイルが生成されます。
# Clone the repository
git clone https://github.com/ThomasTJdev/nim_websitecreator
cd nim_websitecreator
# Generate and edit the config.cfg accordingly
cp config/config_default.cfg config/config.cfg
nano config/config.cfg
# Compile
nimble -d:release build
# Run nimwc
# (to add an Admin append the arg "newadmin": nimwc --newadmin)
# (to include some standard pages: nimwc --insertdata)
./nimwc
# Login
127.0.0.1:7000/loginこれにより、インストールをご案内します。
curl https://raw.githubusercontent.com/ThomasTJdev/nim_websitecreator/master/devops/autoinstall.sh -sSf | sh
# OR
curl https://raw.githubusercontent.com/ThomasTJdev/nim_websitecreator/master/devops/autoinstall.sh -sSfLO && echo "6cc7510305db7b0ae5e3755137e71c23c7e08829264ddfb82702e6cac297f1063b46c48c01eafb16156c27a53aa23d1737c34f354ae1834c8498f5bd64b81b3c autoinstall.sh" | sha512sum -c - && sh ./autoinstall.sh
これらの引数は、実行可能ファイル、例えば./nimwc cdataに加入する必要があります
--showconfig =解析されたINI構成を表示し、オプションをコンパイルします。--newadmin =管理者ユーザーを追加します。--gitupdate =更新し、ハードリセットを強制します。--initplugin = TMP/内部のプラグインスケルトンを作成します。--vacuumdb = vacuum database and Continue(データベースメンテナンス)。--backupdb =データベースのフルバックアップの圧縮。--backupdb-gpg =データベースのフルバックアップを圧縮しました。--newdb =標準のテーブルでデータベースを生成します(テーブルをオーバーライドまたは削除しません)。データベースが存在しない場合、 newdb自動化されます。--insertdata =標準データを挿入します--insertdata bulmabulma = bulma cssを使用し、JS不要(公式デザイン)[デフォルトの公式テーマ]bootstrap = bootstrapとjqueryを使用しますwater = Water CSSフレームワーク、JS、HTMLクラスレスなし(HTMLのクラスは不要) これらのオプションは、Compiletimeでのみ使用できます。
-d:rc =再コンパイル。したがって、NIMWCはランチャーを使用しているため、再コンパイルを強制する必要があります。-d:adminnotify =指定された管理者メールにエラーログ(エラー)を送信します。-d:dev =開発。-d:devemailon = -d:devがアクティブ化されたときに電子メールを送信します。-d:demo =パブリックテストサイトNIM Webサイト作成者で使用されます。このオプションは、標準データを使用して1時間ごとにデータベースをオーバーライドします。-d:gitupdate = gitから直接更新し、ハードリセットを強制します。-d:postgres = sqliteの代わりにpostgresデータベースを使用します。-d:packedjson = std lib jsonの代わりにpackedjsonを使用します。パフォーマンスの最適化。3つの主要なユーザープロファイルがあります。
以下のアクセス権は、メインプログラムに適用されます。プラグインは、ユーザーの権利の独自の定義を持つことができます。
「ユーザー」は、プライベートページやブログページをログインして表示できます。このユーザーは、何かを追加または編集することができません。
「モデレーター」は、プライベートページやブログページをログインして表示できます。ユーザーはユーザーを追加および削除できますが、「管理者」ユーザーを削除または追加することはできません。ユーザーは、JS、CSS、およびCore HTMLを編集することはできません- ページとブログ投稿内でのみ。
「管理者」は何でもアクセスできます。
ブログを簡単に追加および編集できます。ブログはメタデータをサポートしています:メタ説明とメタキーワード。カテゴリとタグを指定することもできます。
[設定]メニューでは、昇順でmodfied日付にブログ投稿を並べ替える方法を指定できます。
特定の名前、タグ、またはカテゴリのBlogPostのみを表示するには、URLに基準を追加する必要があります。これらを結合することはできません。
website.com/blog?name=nim
website.com/blog?category=article
website.com/blog?tags=code
複数のプラグインが利用可能です。プログラム内で<webpage>/plugins/repoでダウンロードできます。
プラグインリポジトリはここにあります:NIMWCプラグインリポジトリ
ブログまたは通常のページを編集するときは、Ctrl+Sを押して保存します。
Docker
Vagrant
ngnix config
Google Recaptcha
Googleをアクティブにするには、Recaptchaがサイトとサーバーキーをクレームし、 config.cfgに挿入します。
SystemD
ファイルnimwc.service into /lib/systemd/system/
sudo nano /lib/systemd/system/nimwc.service
NIMWCの自動開始を有効にする:
sudo systemctl enable nimwc
sudo systemctl start nimwc
sudo systemctl status nimwc
CIビルド
相互コンピリング、古いLinux用のビルド
古いアーチやubuntuのような最近のLinuxから、古いLinuxの古いCentosやDebian Old Stableのような非常に古いLinuxのビルドが必要になる場合があります。
オプションの依存関係。
CPU&RAM NIMWCがどれだけ使用できるかを選択できます。Firejailは、実際に物理的に利用可能なCPU&RAMが少ないとNIMWCに信じさせます。リソースが小さすぎて負荷が大きすぎると選択した場合、CPUとRAMが小さすぎるVirtualBoxで重いプログラムを実行しようとすると、実行しようとすると、実行しようとすると感じられます。これは、CPUおよびRAM使用の特定のしきい値を渡すときに追加料金を請求するクラウドに役立ちます。
NIMWCは、オーディオ、ビデオ、USB、DVDなどなど、実行するハードウェアデバイスに依存していないため、ハードウェアペリペハルへのアクセスをブロックできます。これは、脆弱なハードウェアドライバーとライブラリをブロックし、NIMWCをより安全にします。
rootユーザーとLinuxシステムの残りのユーザーをブロックするオプションがあります。これは、特権の範囲からNIMWCを保護するのに役立ちます。
キャッシュと一時的なディレクトリは、プライベートな一時的なユニークな自動生成されたTMPFとして取り付けられています。つまり、実際のものはNIMWC内から変更できません。
noMnt=trueは、サーバーごとに1インスタンスnimwcを実行する場合、 noMnt=falseは、 /mnt/同時にサブフォルダーをアクセスする他のインスタンスをブロックする場合とない場合があるため、サーバーごとに複数のインスタンスを実行する場合の場合です。
noX=falseヘッドレスサーバーまたはChromebookを実行している場合。 noX=true x solation( xorg-server-xvfb )にXvfbを使用します。使用する場合はインストールする必要があるかもしれませんが、難しい依存関係ではありません。nox noX=falseを使用するだけで、望まない場合はインストールする必要はありません。
機能はLinuxカーネル自体からのものであるため、パフォーマンスにコストがゼロになり、使用してもテクノロジーが既に存在します。
したがって、NIMWCがコンパイルされている結論では、バイナリのほとんどのシステム、独自のフォルダーのほとんどにアクセスする必要はありません。Firejailsとの統合は他のすべてを隠しています。
あなたのローカルバージョンのFirejailの必要性> = 0.9.58 。パッケージマネージャーを使用してインストールしてください:
# Arch (package manager)
sudo pacman -S firejail
# Ubuntu (built files)
https://launchpad.net/ubuntu/+source/firejail/0.9.58-1 # <-- download
sudo apt install ./firejail_0.9.58-1_arm64.deb
# Compile
git clone https://github.com/netblue30/firejail.git
cd firejail
./configure && make && sudo make install-strip