موقع Next.js لاستضافة معرض فني باستخدام جداول بيانات Google و Google Drive كوجود خلفي.
يمكن تشغيل المشروع باستخدام جدول بيانات Google يمكن عرضه علنًا. يتم تشغيل الموقع التجريبي لهذا المشروع بواسطة ورقة Google هنا. يمكنك إعداد مستند مماثل وجعله "قابل للقراءة" من قبل الجميع مع الرابط.
يستخدم المستند المثال الصور من الويب (متوفر بحرية على pexels.com). ولكن ، يمكنك استخدام محرك Google لتحميل الصور. يمكنك بعد ذلك استخدام CDN مثل Cloudinary لخدمة الصور تلقائيًا من Google Drive. أو قم بتنزيل الصور على خادم الويب الخاص بك في الدليل من حيث تقدم موقع "Build".
لتكوين موقعك ، انسخ ملف env.local.default
إلى .env.local
وقم بتحريره للإشارة إلى جدول بيانات Google الخاص بك و CDN الخاص بك ، إذا كنت تستخدم واحد.
يمكنك إما استخدام خدمة مجانية مثل OpenSheet.Vercel.app لتحويل جدول البيانات إلى نقطة نهاية JSON ، أو استخدام البرنامج النصي scripts/download-images
لتنزيل البيانات الوصفية كملف JSON إلى public/metadata.json
. تحتاج إلى إزالة تكوين METADATA_URL
من ملف .env.local
إذا كنت مع استخدام ملف metadata.json
من الدليل public/
الدليل.
قم بتعيين IMAGE_CDN_PREFIX=""
إذا كنت تستخدم الصور التي تم تنزيلها محليًا على الخادم الخاص بك. قم بتكوين Thumbnails في مستند البيانات الوصفية بحيث يمكن العثور على صورك في الموقع - ${IMAGE_CDN_PREFIX}/image/${thumbnail}
. يمكنك استخدام A ../
بادئة على الصور المصغرة ، إذا كانت الصور المصغرة لا تعيش في دليل image
.
أيضًا ، قم بإزالة تكوين FORCE_CDN
، إذا كنت ترغب في عدم استخدام CDN عند التطوير محليًا.
مع إصدارات أحدث من NodeJS (18+؟) ، إذا واجهت الخطأ التالي:
opensslErrorStack: [ ' error:03000086:digital envelope routines::initialization error ' ],
library: ' digital envelope routines ' ,
reason: ' unsupported ' ,
code: ' ERR_OSSL_EVP_UNSUPPORTED '
يمكنك تعيين NODE_OPTIONS
env var للسماح لـ Legacy OpenSSL.
export NODE_OPTIONS=--openssl-legacy-provider
yarn build
يبني الموقع. yarn export
من شأنه أن يصدر الموقع إلى موقع ثابت.
راجع نموذج نشر البرامج النصية في scripts/
الدليل لمعرفة كيفية نشر هذا الموقع. يمكنك رؤية موقع تجريبي هنا.