موقع 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/ الدليل لمعرفة كيفية نشر هذا الموقع. يمكنك رؤية موقع تجريبي هنا.