From 033c5d572647986948c3b6be530afc27f04696e5 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 2 Mar 2014 11:06:21 -0500 Subject: [PATCH 1/7] es, fr, nb, sv, zh_CN translations --- public/language/es/global.json | 4 +-- public/language/es/pages.json | 2 +- public/language/es/topic.json | 22 ++++++++-------- public/language/fr/pages.json | 2 +- public/language/fr/topic.json | 22 ++++++++-------- public/language/nb/global.json | 2 +- public/language/nb/pages.json | 2 +- public/language/nb/topic.json | 20 +++++++-------- public/language/sv/category.json | 2 +- public/language/sv/global.json | 12 ++++----- public/language/sv/notifications.json | 2 +- public/language/sv/pages.json | 4 +-- public/language/sv/topic.json | 36 +++++++++++++-------------- public/language/sv/user.json | 16 ++++++------ public/language/zh_CN/global.json | 2 +- public/language/zh_CN/pages.json | 2 +- public/language/zh_CN/topic.json | 20 +++++++-------- 17 files changed, 86 insertions(+), 86 deletions(-) diff --git a/public/language/es/global.json b/public/language/es/global.json index 7bb6ec6d41..21c502619a 100644 --- a/public/language/es/global.json +++ b/public/language/es/global.json @@ -44,12 +44,12 @@ "alert.banned.message": "Estás baneado, serás desconectado!", "alert.unfollow": "Ya no estás siguiendo a %1!", "alert.follow": "Estás siguiendo a %1!", - "posts": "Publicaciones", + "posts": "Posts", "views": "Visitas", "posted": "publicado", "in": "en", "recentposts": "Publicaciones Recientes", - "recentips": "Recently Logged In IPs", + "recentips": "Conexions recientes de estas IP's", "online": "Conectado", "away": "No disponible", "dnd": "No molestar", diff --git a/public/language/es/pages.json b/public/language/es/pages.json index 603c8ace7a..fab5dc5001 100644 --- a/public/language/es/pages.json +++ b/public/language/es/pages.json @@ -8,7 +8,7 @@ "user.edit": "Editando \"%1\"", "user.following": "Gente que sigue %1 ", "user.followers": "Seguidores de %1", - "user.posts": "Posts made by %1", + "user.posts": "Posteos de %1", "user.favourites": "Publicaciones favoritas de %1 ", "user.settings": "Preferencias del Usuario" } \ No newline at end of file diff --git a/public/language/es/topic.json b/public/language/es/topic.json index ce34ffa2a7..85e1488472 100644 --- a/public/language/es/topic.json +++ b/public/language/es/topic.json @@ -11,7 +11,7 @@ "reply": "Responder", "edit": "Editar", "delete": "Borrar", - "restore": "Restore", + "restore": "Restaurar", "move": "Mover", "fork": "Bifurcar", "banned": "baneado", @@ -19,15 +19,15 @@ "share": "Compartir", "tools": "Herramientas", "flag": "Reportar", - "bookmark_instructions": "Click here to return to your last position or close to discard.", + "bookmark_instructions": "Click aqui para restablecer la ultima posicion del post o cierralo para descartar cambios.", "flag_title": "Reportar esta publicación a los moderadores", "deleted_message": "Este tema ha sido borrado. Solo los miembros con privilegios pueden verlo.", "following_topic.title": "Siguendo tema", "following_topic.message": "Ahora recibiras notificaciones cuando alguien publique en este tema.", "not_following_topic.title": "No sigues este tema", "not_following_topic.message": "No recibiras notificaciones de este tema.", - "login_to_subscribe": "Please register or log in in order to subscribe to this topic.", - "markAsUnreadForAll.success": "Topic marked as unread for all.", + "login_to_subscribe": "Por favor, conectate para subscribirte a este tema.", + "markAsUnreadForAll.success": "Marcar todo como leeido.", "watch": "Seguir", "share_this_post": "Compartir este post", "thread_tools.title": "Herramientas del Tema", @@ -66,17 +66,17 @@ "composer.title_placeholder": "Ingresa el titulo de tu tema", "composer.write": "Escribe", "composer.preview": "Previsualización", - "composer.help": "Help", + "composer.help": "Ayuda", "composer.discard": "Descartar", "composer.submit": "Enviar", "composer.replying_to": "Respondiendo a", "composer.new_topic": "Nuevo Tema", - "composer.uploading": "uploading...", - "composer.thumb_url_label": "Paste a topic thumbnail URL", - "composer.thumb_title": "Add a thumbnail to this topic", - "composer.thumb_url_placeholder": "http://example.com/thumb.png", - "composer.thumb_file_label": "Or upload a file", - "composer.thumb_remove": "Clear fields", + "composer.uploading": "cargando...", + "composer.thumb_url_label": "Agregar imagen destacada a este tema.", + "composer.thumb_title": "Agregar miniatura a este tema.", + "composer.thumb_url_placeholder": "http://ejemplo.com/mini.png", + "composer.thumb_file_label": "Cargar una foto", + "composer.thumb_remove": "Limpiar campos.", "composer.drag_and_drop_images": "Arrastra las imagenes aqui", "composer.upload_instructions": "Carga tus imagenes con solo arrastrarlas aqui." } \ No newline at end of file diff --git a/public/language/fr/pages.json b/public/language/fr/pages.json index e20ff0444c..b30a1c004a 100644 --- a/public/language/fr/pages.json +++ b/public/language/fr/pages.json @@ -8,7 +8,7 @@ "user.edit": "Edite \"%1\"", "user.following": "Personnes que %1 suit", "user.followers": "Personnes qui suivent %1", - "user.posts": "Posts made by %1", + "user.posts": "Message écrit par %1", "user.favourites": "Messages favoris de %1", "user.settings": "Préférences Utilisateur" } \ No newline at end of file diff --git a/public/language/fr/topic.json b/public/language/fr/topic.json index cbe1843ca5..17b3be252d 100644 --- a/public/language/fr/topic.json +++ b/public/language/fr/topic.json @@ -11,7 +11,7 @@ "reply": "Répondre", "edit": "Editer", "delete": "Supprimer", - "restore": "Restore", + "restore": "Restaurer", "move": "Déplacer", "fork": "Scinder", "banned": "bannis", @@ -19,15 +19,15 @@ "share": "Partager", "tools": "Outils", "flag": "Signaler", - "bookmark_instructions": "Click here to return to your last position or close to discard.", + "bookmark_instructions": "Cliquer ici pour retourner à votre dernière position ou fermer pour ignorer.", "flag_title": "Signaler ce post pour modération", "deleted_message": "Ce sujet a été supprimé. Seuls les utilsateurs avec les droits d'administration peuvent le voir.", "following_topic.title": "Sujet suivi", "following_topic.message": "Vous recevrez désormais des notifications lorsque quelqu'un postera dans ce sujet.", "not_following_topic.title": "Sujet non suivi", "not_following_topic.message": "Vous ne recevrez plus de notifications pour ce sujet.", - "login_to_subscribe": "Please register or log in in order to subscribe to this topic.", - "markAsUnreadForAll.success": "Topic marked as unread for all.", + "login_to_subscribe": "Veuillez vous enregistrer ou vous connecter afin de souscrire à ce sujet.", + "markAsUnreadForAll.success": "Sujet marqué comme non lu pour tout le monde.", "watch": "Suivre", "share_this_post": "Partager ce message", "thread_tools.title": "Outils du Fil", @@ -66,17 +66,17 @@ "composer.title_placeholder": "Entrer le titre du sujet ici...", "composer.write": "Ecriture", "composer.preview": "Aperçu", - "composer.help": "Help", + "composer.help": "Aide", "composer.discard": "Abandon", "composer.submit": "Envoi", "composer.replying_to": "Répondre à", "composer.new_topic": "Nouveau Sujet", - "composer.uploading": "uploading...", - "composer.thumb_url_label": "Paste a topic thumbnail URL", - "composer.thumb_title": "Add a thumbnail to this topic", - "composer.thumb_url_placeholder": "http://example.com/thumb.png", - "composer.thumb_file_label": "Or upload a file", - "composer.thumb_remove": "Clear fields", + "composer.uploading": "téléchargement...", + "composer.thumb_url_label": "Coller une URL de vignette du sujet", + "composer.thumb_title": "Ajouter une vignette à ce sujet", + "composer.thumb_url_placeholder": "http://exemple.com/vignette.png", + "composer.thumb_file_label": "Ou télécharger un fichier", + "composer.thumb_remove": "Effacer les champs", "composer.drag_and_drop_images": "Glisser-déposer ici les images", "composer.upload_instructions": "Uploader des images par glisser-déposer." } \ No newline at end of file diff --git a/public/language/nb/global.json b/public/language/nb/global.json index d1773e9388..bd4292c02b 100644 --- a/public/language/nb/global.json +++ b/public/language/nb/global.json @@ -49,7 +49,7 @@ "posted": "skapt", "in": "i", "recentposts": "Seneste innlegg", - "recentips": "Recently Logged In IPs", + "recentips": "Seneste innloggede IP-er", "online": "Online", "away": "Borte", "dnd": "Ikke forsturr", diff --git a/public/language/nb/pages.json b/public/language/nb/pages.json index 1d7a489f5e..6a23fa2104 100644 --- a/public/language/nb/pages.json +++ b/public/language/nb/pages.json @@ -8,7 +8,7 @@ "user.edit": "Endrer \"%1\"", "user.following": "Personer %1 følger", "user.followers": "Personer som følger %1", - "user.posts": "Posts made by %1", + "user.posts": "Innlegg laget av %1", "user.favourites": "%1 sine favoritt-innlegg", "user.settings": "Brukerinnstillinger" } \ No newline at end of file diff --git a/public/language/nb/topic.json b/public/language/nb/topic.json index 320f0b5002..4641564876 100644 --- a/public/language/nb/topic.json +++ b/public/language/nb/topic.json @@ -11,7 +11,7 @@ "reply": "Svar", "edit": "Endre", "delete": "Slett", - "restore": "Restore", + "restore": "Gjenopprett", "move": "Flytt", "fork": "Del", "banned": "utestengt", @@ -19,15 +19,15 @@ "share": "Del", "tools": "Verktøy", "flag": "Rapporter", - "bookmark_instructions": "Click here to return to your last position or close to discard.", + "bookmark_instructions": "Klikk her for å returnere til din siste posisjon eller lukk for å forkaste.", "flag_title": "Rapporter dette innlegget for granskning", "deleted_message": "Denne tråden har blitt slettet. Bare brukere med trådhåndterings-privilegier kan se den.", "following_topic.title": "Følger tråd", "following_topic.message": "Du vil nå motta varsler når noen skriver i denne tråden.", "not_following_topic.title": "Følger ikke tråd", "not_following_topic.message": "Du vil ikke lenger motta varsler fra denne tråden.", - "login_to_subscribe": "Please register or log in in order to subscribe to this topic.", - "markAsUnreadForAll.success": "Topic marked as unread for all.", + "login_to_subscribe": "Vennligst registrer deg eller logg inn for å abonnere på denne tråden.", + "markAsUnreadForAll.success": "Tråd markert som ulest for alle.", "watch": "Overvåk", "share_this_post": "Del ditt innlegg", "thread_tools.title": "Trådverktøy", @@ -66,17 +66,17 @@ "composer.title_placeholder": "Skriv din tråd-tittel her", "composer.write": "Skriv", "composer.preview": "Forhåndsvis", - "composer.help": "Help", + "composer.help": "Hjelp", "composer.discard": "Forkast", "composer.submit": "Send", "composer.replying_to": "Svarer til", "composer.new_topic": "Ny tråd", - "composer.uploading": "uploading...", - "composer.thumb_url_label": "Paste a topic thumbnail URL", - "composer.thumb_title": "Add a thumbnail to this topic", + "composer.uploading": "laster opp...", + "composer.thumb_url_label": "Lim inn som tråd-minatyr URL", + "composer.thumb_title": "Legg til minatyr til denne tråden", "composer.thumb_url_placeholder": "http://example.com/thumb.png", - "composer.thumb_file_label": "Or upload a file", - "composer.thumb_remove": "Clear fields", + "composer.thumb_file_label": "Eller last opp en fil", + "composer.thumb_remove": "Tøm felter", "composer.drag_and_drop_images": "Dra og slipp bilder her", "composer.upload_instructions": "Last opp bilder ved å dra og slippe dem." } \ No newline at end of file diff --git a/public/language/sv/category.json b/public/language/sv/category.json index 629829d720..33340fc2c2 100644 --- a/public/language/sv/category.json +++ b/public/language/sv/category.json @@ -2,7 +2,7 @@ "new_topic_button": "Nytt ämne", "no_topics": "Det finns inga ämnen i denna kategori.
Varför inte skapa ett?", "posts": "inlägg", - "views": "tittningar", + "views": "visningar", "posted": "skapad", "browsing": "läser", "no_replies": "Ingen har svarat", diff --git a/public/language/sv/global.json b/public/language/sv/global.json index 5896cf7d5c..a92a4b8d8f 100644 --- a/public/language/sv/global.json +++ b/public/language/sv/global.json @@ -10,16 +10,16 @@ "500.message": "Hoppsan! Verkar som att något gått snett!", "register": "Registrera", "login": "Logga in", - "please_log_in": "Please Log In", - "posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.", - "welcome_back": "Welcome Back ", - "you_have_successfully_logged_in": "You have successfully logged in", + "please_log_in": "Var god logga in", + "posting_restriction_info": "Man måste vara inloggad för att kunna skapa inlägg, klicka här för att logga in.", + "welcome_back": "Välkommen tillbaka", + "you_have_successfully_logged_in": "Inloggningen lyckades", "logout": "Logga ut", "logout.title": "Du är nu utloggad.", "logout.message": "Du är nu utloggad från NodeBB.", "save_changes": "Spara ändringar", "close": "Stäng", - "pagination": "Pagination", + "pagination": "Siduppdelning", "header.admin": "Admin", "header.recent": "Senaste", "header.unread": "Olästa", @@ -49,7 +49,7 @@ "posted": "svarade", "in": "i", "recentposts": "Senaste ämnena", - "recentips": "Recently Logged In IPs", + "recentips": "Nyligen inloggade IPn", "online": "Online", "away": "Borta", "dnd": "Stör ej", diff --git a/public/language/sv/notifications.json b/public/language/sv/notifications.json index b97f8f5ae9..a480c7b77e 100644 --- a/public/language/sv/notifications.json +++ b/public/language/sv/notifications.json @@ -1,6 +1,6 @@ { "title": "Notiser", - "no_notifs": "You have no new notifications", + "no_notifs": "Du har inga nya notiser", "see_all": "Visa alla notiser", "back_to_home": "Tillbaka till NodeBB", "outgoing_link": "Utgående länk", diff --git a/public/language/sv/pages.json b/public/language/sv/pages.json index 39899ade4d..815fc336dd 100644 --- a/public/language/sv/pages.json +++ b/public/language/sv/pages.json @@ -1,14 +1,14 @@ { "home": "Hem", "unread": "Olästa ämnen", - "popular": "Popular Topics", + "popular": "Populära ämnen", "recent": "Senaste ämnena", "users": "Registrerade användare", "notifications": "Notiser", "user.edit": "Ändrar \"%1\"", "user.following": "Personer %1 Följer", "user.followers": "Personer som följer %1", - "user.posts": "Posts made by %1", + "user.posts": "Inlägg skapat av %1", "user.favourites": "%1's favorit-inlägg", "user.settings": "Avnändarinställningar" } \ No newline at end of file diff --git a/public/language/sv/topic.json b/public/language/sv/topic.json index 67e81513be..2f62fe568e 100644 --- a/public/language/sv/topic.json +++ b/public/language/sv/topic.json @@ -11,7 +11,7 @@ "reply": "Svara", "edit": "Ändra", "delete": "Ta bort", - "restore": "Restore", + "restore": "Återställ", "move": "Flytta", "fork": "Grena", "banned": "bannad", @@ -19,17 +19,17 @@ "share": "Dela", "tools": "Verktyg", "flag": "Rapportera", - "bookmark_instructions": "Click here to return to your last position or close to discard.", + "bookmark_instructions": "Klicka här för att återgå till den senaste positionen eller stäng för att kasta.", "flag_title": "Rapportera detta inlägg för granskning", "deleted_message": "Denna tråd har tagits bort. Endast användare med administrations-rättigheter kan se den.", - "following_topic.title": "Following Topic", - "following_topic.message": "You will now be receiving notifications when somebody posts to this topic.", - "not_following_topic.title": "Not Following Topic", - "not_following_topic.message": "You will no longer receive notifications from this topic.", - "login_to_subscribe": "Please register or log in in order to subscribe to this topic.", - "markAsUnreadForAll.success": "Topic marked as unread for all.", - "watch": "Watch", - "share_this_post": "Share this Post", + "following_topic.title": "Följer ämne", + "following_topic.message": "Du kommer nu få notiser när någon gör inlägg i detta ämne.", + "not_following_topic.title": "Du följer inte ämnet", + "not_following_topic.message": "Du kommer inte längre få notiser från detta ämne.", + "login_to_subscribe": "Var god registrera eller logga in för att kunna prenumerera på detta ämne.", + "markAsUnreadForAll.success": "Ämne markerat som oläst av alla.", + "watch": "Följ", + "share_this_post": "Dela detta inlägg", "thread_tools.title": "Trådverktyg", "thread_tools.markAsUnreadForAll": "Markera som oläst", "thread_tools.pin": "Fäst ämne", @@ -66,17 +66,17 @@ "composer.title_placeholder": "Skriv in ämnets titel här...", "composer.write": "Skriv", "composer.preview": "Förhandsgranska", - "composer.help": "Help", + "composer.help": "Hjälp", "composer.discard": "Avbryt", "composer.submit": "Spara", "composer.replying_to": "Svarar till", "composer.new_topic": "Nytt ämne", - "composer.uploading": "uploading...", - "composer.thumb_url_label": "Paste a topic thumbnail URL", - "composer.thumb_title": "Add a thumbnail to this topic", + "composer.uploading": "laddar upp...", + "composer.thumb_url_label": "Klistra in URL till tumnagel för ämnet", + "composer.thumb_title": "Lägg till tumnagel för detta ämne", "composer.thumb_url_placeholder": "http://example.com/thumb.png", - "composer.thumb_file_label": "Or upload a file", - "composer.thumb_remove": "Clear fields", - "composer.drag_and_drop_images": "Drag and Drop Images Here", - "composer.upload_instructions": "Upload images by dragging & dropping them." + "composer.thumb_file_label": "Eller ladda upp en fil", + "composer.thumb_remove": "Töm fält", + "composer.drag_and_drop_images": "Dra och släpp bilder här", + "composer.upload_instructions": "Ladda upp bilder genom att dra och släpp dem." } \ No newline at end of file diff --git a/public/language/sv/user.json b/public/language/sv/user.json index 13e77e3d00..a876a6f76d 100644 --- a/public/language/sv/user.json +++ b/public/language/sv/user.json @@ -19,20 +19,20 @@ "signature": "Signatur", "gravatar": "Gravatar", "birthday": "Födelsedag", - "chat": "Chat", - "follow": "Follow", - "unfollow": "Unfollow", + "chat": "Chatta", + "follow": "Följ", + "unfollow": "Sluta följ", "change_picture": "Ändra bild", "edit": "Ändra", "uploaded_picture": "Uppladdad bild", "upload_new_picture": "Ladda upp ny bild", - "current_password": "Current Password", + "current_password": "Nuvarande lösenord", "change_password": "Ändra lösenord", "confirm_password": "Bekräfta lösenord", "password": "Lösenord", "upload_picture": "Ladda upp bild", "upload_a_picture": "Ladda upp en bild", - "image_spec": "You may only upload PNG, JPG, or GIF files", + "image_spec": "Du får bara ladda upp PNG, JPG eller GIF-filer", "max": "max.", "settings": "Inställningar", "show_email": "Visa min epost", @@ -41,7 +41,7 @@ "has_no_posts": "Denna användare har inte gjort några inlägg än.", "email_hidden": "Epost dold", "hidden": "dold", - "paginate_description": "Paginate topics and posts instead of using infinite scroll.", - "topics_per_page": "Topics per Page", - "posts_per_page": "Posts per Page" + "paginate_description": "Gör så att ämnen och inlägg visas som sidor istället för oändlig scroll.", + "topics_per_page": "Ämnen per sida", + "posts_per_page": "Inlägg per sida" } \ No newline at end of file diff --git a/public/language/zh_CN/global.json b/public/language/zh_CN/global.json index 174386fd13..a56b080bc7 100644 --- a/public/language/zh_CN/global.json +++ b/public/language/zh_CN/global.json @@ -49,7 +49,7 @@ "posted": "发布", "in": "在", "recentposts": "最新发表", - "recentips": "Recently Logged In IPs", + "recentips": "最近登录ip", "online": " 在线", "away": "离开", "dnd": "不打扰", diff --git a/public/language/zh_CN/pages.json b/public/language/zh_CN/pages.json index 712bf602f1..59cfe38f1f 100644 --- a/public/language/zh_CN/pages.json +++ b/public/language/zh_CN/pages.json @@ -8,7 +8,7 @@ "user.edit": "编辑 \"%1\"", "user.following": "%1的人关注", "user.followers": "%1关注的人", - "user.posts": "Posts made by %1", + "user.posts": "%1 发表", "user.favourites": "%1 喜爱的帖子", "user.settings": "用户设置" } \ No newline at end of file diff --git a/public/language/zh_CN/topic.json b/public/language/zh_CN/topic.json index 4992fa4719..f3857aeadc 100644 --- a/public/language/zh_CN/topic.json +++ b/public/language/zh_CN/topic.json @@ -11,7 +11,7 @@ "reply": "回复", "edit": "编辑", "delete": "删除", - "restore": "Restore", + "restore": "恢复", "move": "移动", "fork": "作为主题", "banned": "禁止", @@ -19,15 +19,15 @@ "share": "分享", "tools": "工具", "flag": "标志", - "bookmark_instructions": "Click here to return to your last position or close to discard.", + "bookmark_instructions": "点击这里返回你最初的位置或退出。", "flag_title": "标志受限的帖子", "deleted_message": "这个帖子已经删除,只有帖子的拥有者才有权限去查看。", "following_topic.title": "关注该主题", "following_topic.message": "当有回复提交的时候你将会收到通知。", "not_following_topic.title": "非关注主题", "not_following_topic.message": "你将不再接受来自该帖子的通知。", - "login_to_subscribe": "Please register or log in in order to subscribe to this topic.", - "markAsUnreadForAll.success": "Topic marked as unread for all.", + "login_to_subscribe": "请注册或登录以订阅该主题。", + "markAsUnreadForAll.success": "标记所有未读主题", "watch": "查看", "share_this_post": "分享帖子", "thread_tools.title": "管理工具", @@ -66,17 +66,17 @@ "composer.title_placeholder": "在这里输入你的主题标题...", "composer.write": "书写", "composer.preview": "预览", - "composer.help": "Help", + "composer.help": "帮助", "composer.discard": "丢弃", "composer.submit": "提交", "composer.replying_to": "回复", "composer.new_topic": "新主题", - "composer.uploading": "uploading...", - "composer.thumb_url_label": "Paste a topic thumbnail URL", - "composer.thumb_title": "Add a thumbnail to this topic", + "composer.uploading": "上传中...", + "composer.thumb_url_label": "粘贴一个主题缩略图URL地址", + "composer.thumb_title": "为主题添加一个缩略图", "composer.thumb_url_placeholder": "http://example.com/thumb.png", - "composer.thumb_file_label": "Or upload a file", - "composer.thumb_remove": "Clear fields", + "composer.thumb_file_label": "或上传一个文件", + "composer.thumb_remove": "清除字段", "composer.drag_and_drop_images": "把图像拖到此处", "composer.upload_instructions": "拖拽图片以上传" } \ No newline at end of file From 14d7453a2326f61c344076e34fd31353225b08b1 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 2 Mar 2014 13:28:09 -0500 Subject: [PATCH 2/7] bundling socket.io client library into minfile, minfile always used from this point forward, even in development mode. Development mode will not compress the scripts, but will just concatenate. --- public/templates/header.tpl | 1 - src/meta.js | 34 +++++++++++++++++++++++++++------- src/plugins.js | 1 + src/routes/meta.js | 18 ++++++++++++++---- 4 files changed, 42 insertions(+), 12 deletions(-) diff --git a/public/templates/header.tpl b/public/templates/header.tpl index decbae43da..56bfc48638 100644 --- a/public/templates/header.tpl +++ b/public/templates/header.tpl @@ -28,7 +28,6 @@ - diff --git a/src/meta.js b/src/meta.js index b8c12a0721..2108cc277c 100644 --- a/src/meta.js +++ b/src/meta.js @@ -250,6 +250,7 @@ var fs = require('fs'), jsPaths = scripts.map(function (jsPath) { jsPath = path.normalize(jsPath); + // The filter:scripts.get plugin will be deprecated as of v0.5.0, specify scripts in plugin.json instead if (jsPath.substring(0, 7) === 'plugins') { var matches = _.map(plugins.staticDirs, function(realPath, mappedPath) { if (jsPath.match(mappedPath)) { @@ -271,15 +272,18 @@ var fs = require('fs'), } }); + // Remove scripts that could not be found (remove this line at v0.5.0) Meta.js.scripts = jsPaths.filter(function(path) { return path !== null }); - if (process.env.NODE_ENV !== 'development') { - callback(null, [ - Meta.js.minFile - ]); - } else { - callback(null, scripts); - } + // Add socket.io client library + Meta.js.scripts.push(path.join(__dirname, '../node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js')); + + // Add plugin scripts + Meta.js.scripts = Meta.js.scripts.concat(plugins.clientScripts); + + callback(null, [ + Meta.js.minFile + ]); }); }, minify: function (callback) { @@ -294,6 +298,22 @@ var fs = require('fs'), minified = uglifyjs.minify(jsPaths); this.cache = minified.code; callback(); + }, + compress: function(callback) { + var uglifyjs = require('uglify-js'), + jsPaths = this.scripts, + compressed; + + if (process.env.NODE_ENV === 'development') { + winston.info('Compressing client-side libraries into one file'); + } + + minified = uglifyjs.minify(jsPaths, { + mangle: false, + compress: false + }); + this.cache = minified.code; + callback(); } }; diff --git a/src/plugins.js b/src/plugins.js index f334d8b0da..c704049641 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -17,6 +17,7 @@ var fs = require('fs'), Plugins.staticDirs = {}; Plugins.cssFiles = []; Plugins.lessFiles = []; + Plugins.clientScripts = []; Plugins.initialized = false; diff --git a/src/routes/meta.js b/src/routes/meta.js index 0900ca07d8..0a09074b2c 100644 --- a/src/routes/meta.js +++ b/src/routes/meta.js @@ -45,12 +45,22 @@ var path = require('path'), }); app.get('/nodebb.min.js', function(req, res) { + var sendCached = function() { + return res.type('text/javascript').send(meta.js.cache); + } if (meta.js.cache) { - res.type('text/javascript').send(meta.js.cache); + sendCached(); } else { - meta.js.minify(function() { - res.type('text/javascript').send(meta.js.cache); - }); + if (app.enabled('minification')) { + meta.js.minify(function() { + sendCached(); + }); + } else { + // Compress only + meta.js.compress(function() { + sendCached(); + }); + } } }); }; From 3860abdc24ec02cb5be49a6b055f9511b5b2c291 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 2 Mar 2014 13:31:13 -0500 Subject: [PATCH 3/7] plugins can now pass in scripts in plugin.json, and they will be bundled into nodebb.min.js --- src/plugins.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/plugins.js b/src/plugins.js index c704049641..35d05fe5e3 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -223,6 +223,20 @@ var fs = require('fs'), })); } + next(); + }, + function(next) { + // Client-side scripts + if (pluginData.scripts && pluginData.scripts instanceof Array) { + if (global.env === 'development') { + winston.info('[plugins] Found ' + pluginData.scripts.length + ' js file(s) for plugin ' + pluginData.id); + } + + Plugins.clientScripts = Plugins.clientScripts.concat(pluginData.scripts.map(function(file) { + return path.join(pluginData.id, file); + })); + } + next(); } ], function(err) { From 4c2a6953f188a2ae151e5b2151ba0044e7fed330 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 2 Mar 2014 15:34:12 -0500 Subject: [PATCH 4/7] concatenating the client scripts, instead of compressing, in development mode --- src/meta.js | 25 ++++++++++++++----------- src/routes/meta.js | 2 +- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/meta.js b/src/meta.js index 2108cc277c..2c3b6c66f3 100644 --- a/src/meta.js +++ b/src/meta.js @@ -299,21 +299,24 @@ var fs = require('fs'), this.cache = minified.code; callback(); }, - compress: function(callback) { - var uglifyjs = require('uglify-js'), - jsPaths = this.scripts, - compressed; - + concatenate: function(callback) { if (process.env.NODE_ENV === 'development') { - winston.info('Compressing client-side libraries into one file'); + winston.info('Concatenating client-side libraries into one file'); } - minified = uglifyjs.minify(jsPaths, { - mangle: false, - compress: false + async.map(this.scripts, function(path, next) { + fs.readFile(path, { encoding: 'utf-8' }, next); + }, function(err, contents) { + if (err) { + winston.error('[meta.js.concatenate] Could not minify javascript! Error: ' + err.message); + process.exit(); + } + + Meta.js.cache = contents.reduce(function(output, src) { + return output.length ? output + ';\n' + src : src; + }, ''); + callback(); }); - this.cache = minified.code; - callback(); } }; diff --git a/src/routes/meta.js b/src/routes/meta.js index 0a09074b2c..cc5683b924 100644 --- a/src/routes/meta.js +++ b/src/routes/meta.js @@ -57,7 +57,7 @@ var path = require('path'), }); } else { // Compress only - meta.js.compress(function() { + meta.js.concatenate(function() { sendCached(); }); } From 5553e07bbd9e686f4f7ee99cb3cfd2f6294ed9ce Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 2 Mar 2014 16:29:21 -0500 Subject: [PATCH 5/7] moving socket.IO client lib to top of file, just in case --- src/meta.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/meta.js b/src/meta.js index 2c3b6c66f3..5520cc4a58 100644 --- a/src/meta.js +++ b/src/meta.js @@ -276,7 +276,7 @@ var fs = require('fs'), Meta.js.scripts = jsPaths.filter(function(path) { return path !== null }); // Add socket.io client library - Meta.js.scripts.push(path.join(__dirname, '../node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js')); + Meta.js.scripts.unshift(path.join(__dirname, '../node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js')); // Add plugin scripts Meta.js.scripts = Meta.js.scripts.concat(plugins.clientScripts); From e70bc9f163a3b2e653694194268a8aeb19ccafca Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 2 Mar 2014 16:33:45 -0500 Subject: [PATCH 6/7] added deprecation warning for plugins using filter:scripts.get --- src/meta.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/meta.js b/src/meta.js index 5520cc4a58..07e9255065 100644 --- a/src/meta.js +++ b/src/meta.js @@ -261,7 +261,10 @@ var fs = require('fs'), }).filter(function(a) { return a; }); if (matches.length) { - var relPath = jsPath.slice(new String('plugins/' + matches[0]).length); + var relPath = jsPath.slice(new String('plugins/' + matches[0]).length), + pluginId = matches[0].split(path.sep)[0]; + + winston.warn('[meta.scripts.get (' + pluginId + ')] filter:scripts.get is deprecated, consider using "scripts" in plugin.json'); return plugins.staticDirs[matches[0]] + relPath; } else { winston.warn('[meta.scripts.get] Could not resolve mapped path: ' + jsPath + '. Are you sure it is defined by a plugin?'); From a8d2b46911c0f5ff45dec95cb3541492ab9addc7 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sun, 2 Mar 2014 16:44:41 -0500 Subject: [PATCH 7/7] fixed incorrect path in plugin script inclusion --- src/plugins.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins.js b/src/plugins.js index 35d05fe5e3..688184f81a 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -233,7 +233,7 @@ var fs = require('fs'), } Plugins.clientScripts = Plugins.clientScripts.concat(pluginData.scripts.map(function(file) { - return path.join(pluginData.id, file); + return path.join(__dirname, '../node_modules/', pluginData.id, file); })); }