diff --git a/services/web/app/views/layout/fat-footer-website-redesign.pug b/services/web/app/views/layout/fat-footer-website-redesign.pug index 760faffe74..66e35873f0 100644 --- a/services/web/app/views/layout/fat-footer-website-redesign.pug +++ b/services/web/app/views/layout/fat-footer-website-redesign.pug @@ -35,13 +35,25 @@ footer.fat-footer.hidden-print.website-redesign-fat-footer ul.list-unstyled li - a(href='/learn/latex/Learn_LaTeX_in_30_minutes') #{translate('latex_in_thirty_minutes')} + a( + href='https://learn.overleaf.com/101-get-started-with-latex-in-overleaf' + target='_blank' + rel='noopener noreferrer' + ) #{translate('get_started_with_latex')} li a(href='/latex/templates') #{translate('templates')} li - a(href='/events/webinars') #{translate('webinars')} + a( + href='https://learn.overleaf.com/calendar' + target='_blank' + rel='noopener noreferrer' + ) #{translate('webinars')} li - a(href='/learn/latex/Tutorials') #{translate('tutorials')} + a( + href='https://learn.overleaf.com/' + target='_blank' + rel='noopener noreferrer' + ) #{translate('overleaf_learning_center')} li a(href='/learn/latex/Inserting_Images') #{translate('how_to_insert_images')} li diff --git a/services/web/app/views/layout/fat-footer.pug b/services/web/app/views/layout/fat-footer.pug index 2e88643abf..b3a3694a81 100644 --- a/services/web/app/views/layout/fat-footer.pug +++ b/services/web/app/views/layout/fat-footer.pug @@ -35,13 +35,25 @@ footer.fat-footer.hidden-print ul.list-unstyled li - a(href='/learn/latex/Learn_LaTeX_in_30_minutes') #{translate('latex_in_thirty_minutes')} + a( + href='https://learn.overleaf.com/101-get-started-with-latex-in-overleaf' + target='_blank' + rel='noopener noreferrer' + ) #{translate('get_started_with_latex')} li a(href='/latex/templates') #{translate('templates')} li - a(href='/events/webinars') #{translate('webinars')} + a( + href='https://learn.overleaf.com/calendar' + target='_blank' + rel='noopener noreferrer' + ) #{translate('webinars')} li - a(href='/learn/latex/Tutorials') #{translate('tutorials')} + a( + href='https://learn.overleaf.com/' + target='_blank' + rel='noopener noreferrer' + ) #{translate('overleaf_learning_center')} li a(href='/learn/latex/Inserting_Images') #{translate('how_to_insert_images')} li diff --git a/services/web/app/views/layout/navbar-marketing.pug b/services/web/app/views/layout/navbar-marketing.pug index 6509b3f0f5..3f532047ef 100644 --- a/services/web/app/views/layout/navbar-marketing.pug +++ b/services/web/app/views/layout/navbar-marketing.pug @@ -125,6 +125,8 @@ nav.navbar.navbar-default.navbar-main.navbar-expand-lg( +dropdown-menu-link-item( href=child.url class=child.class + target=child.openInNewWindow ? '_blank' : false + rel=child.openInNewWindow ? 'noopener noreferrer' : false event-tracking='menu-click' event-tracking-mb='true' event-tracking-trigger='click' diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index 377ebc54cc..5b44bbebfc 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -753,6 +753,7 @@ "get_ready_for_overleaf_at_its_best_pro": "", "get_ready_for_overleaf_standard": "", "get_real_time_track_changes": "", + "get_started_with_latex": "", "get_your_hands_on_the_ultimate_research_writing_ai_assistant": "", "git": "", "git_authentication_token": "", @@ -1047,7 +1048,6 @@ "last_verified": "", "latam_discount_modal_info": "", "latam_discount_modal_title": "", - "latex_in_thirty_minutes": "", "latex_places_figures_according_to_a_special_algorithm": "", "latex_places_tables_according_to_a_special_algorithm": "", "layout_options": "", @@ -1339,6 +1339,7 @@ "overleaf_history_system": "", "overleaf_is_easy_to_use": "", "overleaf_labs": "", + "overleaf_learning_center": "", "overleaf_logo": "", "overleafs_functionality_meets_my_needs": "", "overview": "", @@ -2174,7 +2175,6 @@ "turn_off_link_sharing": "", "turn_on": "", "turn_on_link_sharing": "", - "tutorials": "", "unarchive": "", "uncategorized": "", "uncategorized_projects": "", diff --git a/services/web/frontend/js/shared/components/footer/fat-footer.tsx b/services/web/frontend/js/shared/components/footer/fat-footer.tsx index a8b75a04b4..df41f1fda6 100644 --- a/services/web/frontend/js/shared/components/footer/fat-footer.tsx +++ b/services/web/frontend/js/shared/components/footer/fat-footer.tsx @@ -5,6 +5,8 @@ import FatFooterBase from './fat-footer-base' type FooterLinkProps = { href: string label: string + target?: string + rel?: string } type FooterSectionProps = { @@ -39,12 +41,24 @@ function FatFooter() { title: t('Learn'), links: [ { - href: '/learn/latex/Learn_LaTeX_in_30_minutes', - label: t('latex_in_thirty_minutes'), + href: 'https://learn.overleaf.com/101-get-started-with-latex-in-overleaf', + label: t('get_started_with_latex'), + target: '_blank', + rel: 'noopener noreferrer', }, { href: '/latex/templates', label: t('templates') }, - { href: '/events/webinars', label: t('webinars') }, - { href: '/learn/latex/Tutorials', label: t('tutorials') }, + { + href: 'https://learn.overleaf.com/calendar', + label: t('webinars'), + target: '_blank', + rel: 'noopener noreferrer', + }, + { + href: 'https://learn.overleaf.com/', + label: t('overleaf_learning_center'), + target: '_blank', + rel: 'noopener noreferrer', + }, { href: '/learn/latex/Inserting_Images', label: t('how_to_insert_images'), @@ -121,7 +135,9 @@ function FooterSection({ title, links }: FooterSectionProps) { diff --git a/services/web/frontend/js/shared/components/navbar/nav-dropdown-from-data.tsx b/services/web/frontend/js/shared/components/navbar/nav-dropdown-from-data.tsx index 0756bd509b..f8c9fb38fb 100644 --- a/services/web/frontend/js/shared/components/navbar/nav-dropdown-from-data.tsx +++ b/services/web/frontend/js/shared/components/navbar/nav-dropdown-from-data.tsx @@ -71,6 +71,7 @@ export function NavDropdownMenuItems({ { sendProjectListMB('menu-click', { item: child.trackingKey as ExtraSegmentations['menu-click']['item'], diff --git a/services/web/frontend/js/shared/components/navbar/nav-dropdown-link-item.tsx b/services/web/frontend/js/shared/components/navbar/nav-dropdown-link-item.tsx index 7bfd83b04d..0b9c54b5b9 100644 --- a/services/web/frontend/js/shared/components/navbar/nav-dropdown-link-item.tsx +++ b/services/web/frontend/js/shared/components/navbar/nav-dropdown-link-item.tsx @@ -6,15 +6,25 @@ import { DropdownItemProps } from 'react-bootstrap/DropdownItem' export default function NavDropdownLinkItem({ href, onClick, + openInNewWindow, children, }: { href: string onClick?: DropdownItemProps['onClick'] + openInNewWindow?: boolean children: ReactNode }) { + const newWindowAttrs = openInNewWindow + ? { target: '_blank', rel: 'noopener noreferrer' } + : {} return ( - + {children} diff --git a/services/web/frontend/js/shared/components/types/navbar.ts b/services/web/frontend/js/shared/components/types/navbar.ts index ff4e1829cf..cfc029f06d 100644 --- a/services/web/frontend/js/shared/components/types/navbar.ts +++ b/services/web/frontend/js/shared/components/types/navbar.ts @@ -16,6 +16,7 @@ export interface NavbarDropdownLinkItem extends NavbarDropdownTextItem { url: string trackingKey: string eventSegmentation?: Record + openInNewWindow?: boolean } export type NavbarDropdownItem = diff --git a/services/web/locales/da.json b/services/web/locales/da.json index 6ba482950d..1a30cc20bf 100644 --- a/services/web/locales/da.json +++ b/services/web/locales/da.json @@ -643,6 +643,7 @@ "get_in_touch": "Kom i kontakt med os", "get_in_touch_having_problems": "Kontakt support, hvis du oplever problemer", "get_involved": "Bliv involveret", + "get_started_with_latex": "Kom i gang med LaTeX i Overleaf", "get_the_best_overleaf_experience": "Få den bedste Overleaf oplevelse", "git": "Git", "git_authentication_token": "Git autentificeringsnøgle", @@ -913,7 +914,6 @@ "last_used": "sidst benyttet", "latex_articles_page_title": "Artikler, Præsentationer, Rapporter og mere", "latex_examples_page_title": "Eksempler - Formler, Formattering, TikZ, Pakker og mere", - "latex_in_thirty_minutes": "LaTeX på 30 minutter", "latex_places_figures_according_to_a_special_algorithm": "LaTeX placerer figurer ved hjælp af en speciel algoritme. Du kan bruge noget ved navn ‘placement parameters’ til at have indflydelse på positioneringen af figuren. <0>Find ud hvordan", "latex_templates": "LaTeX Skabeloner", "layout": "Layout", @@ -1210,6 +1210,7 @@ "overleaf_history_system": "Overleafs historiksystem", "overleaf_individual_plans": "Overleaf individuelle abonnementer", "overleaf_labs": "Overleaf Labs", + "overleaf_learning_center": "Overleaf læringscenter", "overleaf_plans_and_pricing": "overleaf abonnementer og priser", "overleaf_template_gallery": "overleaf skabelonsgalleri", "overview": "Oversigt", diff --git a/services/web/locales/de.json b/services/web/locales/de.json index 15e9617856..b138260576 100644 --- a/services/web/locales/de.json +++ b/services/web/locales/de.json @@ -457,6 +457,7 @@ "get_in_touch": "Kontaktiere uns", "get_in_touch_having_problems": "Wende dich an den Support, wenn du Probleme hast", "get_involved": "Mach mit", + "get_started_with_latex": "Erste Schritte mit LaTeX in Overleaf", "git": "Git", "git_authentication_token": "Git Anmeldungs-Token", "git_authentication_token_create_modal_info_1": "Das ist dein Git Anmeldungs-Token. Verwende ihn wenn Du nach einem Passwort gefragt wirst.", @@ -665,7 +666,6 @@ "last_used": "Zuletzt verwendet", "latex_articles_page_title": "Artikel – Papers, Präsentationen, Berichte und mehr", "latex_examples_page_title": "Beispiele - Gleichungen, Formatierung, TikZ, Pakete und mehr", - "latex_in_thirty_minutes": "LaTeX in 30 Minuten", "latex_places_figures_according_to_a_special_algorithm": "LaTeX platziert Abbildungen nach einem speziellen Algorithmus. Du kannst mit sogenannten ‘placement parameters’ die Position deiner Abbildungen beeinflussen. <0>Finde heraus wie", "latex_templates": "LaTeX-Vorlagen", "layout": "Layout", @@ -862,6 +862,7 @@ "over": "über", "overall_theme": "Gesamtthema", "overleaf_history_system": "Overleaf-Historie", + "overleaf_learning_center": "Overleaf-Lernzentrum", "overview": "Überblick", "owner": "Besitzer", "page_current": "Seite __page__, Aktuelle Seite", diff --git a/services/web/locales/en.json b/services/web/locales/en.json index b6285c2d98..31f7ee6edb 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -996,6 +996,7 @@ "get_ready_for_overleaf_standard": "Get ready for enhanced collaboration, with increased AI access and up to 10 collaborators per project.", "get_real_time_track_changes": "Get real-time track changes", "get_standard": "Get Standard", + "get_started_with_latex": "Get started with LaTeX in Overleaf", "get_student": "Get Student", "get_the_best_overleaf_experience": "Get the best Overleaf experience", "get_your_hands_on_the_ultimate_research_writing_ai_assistant": "Get your hands on the ultimate research writing AI assistant.", @@ -1371,7 +1372,6 @@ "latex_articles_page_title": "Articles - Papers, Presentations, Reports and more", "latex_examples": "LaTeX examples", "latex_examples_page_title": "Examples - Equations, Formatting, TikZ, Packages and More", - "latex_in_thirty_minutes": "Learn LaTeX in 30 minutes", "latex_places_figures_according_to_a_special_algorithm": "LaTeX places figures according to a special algorithm. You can use something called ‘placement parameters’ to influence the positioning of the figure. <0>Find out how", "latex_places_tables_according_to_a_special_algorithm": "LaTeX places tables according to a special algorithm. You can use “placement parameters” to influence the position of the table. <0>This article explains how to do this.", "latex_templates": "LaTeX Templates", @@ -1778,6 +1778,7 @@ "overleaf_is_a_ds_product": "Overleaf is a Digital Science product.", "overleaf_is_easy_to_use": "Overleaf is easy to use.", "overleaf_labs": "Overleaf Labs", + "overleaf_learning_center": "Overleaf learning center", "overleaf_logo": "Overleaf logo", "overleaf_multi_license_plans": "Overleaf multi-license plans", "overleaf_plans_and_pricing": "overleaf plans and pricing", diff --git a/services/web/locales/zh-CN.json b/services/web/locales/zh-CN.json index 4609b13bc1..aec70688b6 100644 --- a/services/web/locales/zh-CN.json +++ b/services/web/locales/zh-CN.json @@ -760,6 +760,7 @@ "get_in_touch_having_problems": "如果遇到问题,请与支持部门联系", "get_involved": "加入我们", "get_real_time_track_changes": "获取实时跟踪更改", + "get_started_with_latex": "在 Overleaf 中开始使用 LaTeX", "get_the_best_overleaf_experience": "获取最佳的 Overleaf 体验", "git": "Git", "git_authentication_token": "Git 身份验证令牌", @@ -1073,7 +1074,6 @@ "latex_articles_page_title": "文章 - 论文、演示、报告等", "latex_examples": "LaTeX 样例", "latex_examples_page_title": "样例 - Equations, Formatting, TikZ, 软件包等", - "latex_in_thirty_minutes": "30分钟学会 LaTeX", "latex_places_figures_according_to_a_special_algorithm": "LaTeX 根据特殊算法放置图形。 您可以使用“放置参数”来调整图形的位置。 <0>了解具体方法", "latex_places_tables_according_to_a_special_algorithm": "LaTeX根据一种特殊的算法放置表格。可以使用“放置参数”来调整表格的位置<0>这篇文章解释了如何做到这一点。", "latex_templates": "LaTeX模板", @@ -1404,6 +1404,7 @@ "overleaf_history_system": "Overleaf 历史跟踪系统", "overleaf_individual_plans": "Overleaf 个人计划", "overleaf_labs": "Overleaf Labs", + "overleaf_learning_center": "Overleaf 学习中心", "overleaf_logo": "Overleaf Logo", "overleaf_plans_and_pricing": "overleaf 计划和价格", "overleaf_template_gallery": "Overleaf 模板库",