Просмотр исходного кода

Merge pull request #33707 from overleaf/oa-learn-links

[web] Learn Overleaf links

GitOrigin-RevId: af9f72da008ad8b8c86e4c355268123eb6c40bcd
Olzhas Askar 3 месяцев назад
Родитель
Сommit
6c267e68d3

+ 15 - 3
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

+ 15 - 3
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

+ 2 - 0
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'

+ 2 - 2
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": "",

+ 21 - 5
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) {
       <ul className="list-unstyled">
         {links.map(link => (
           <li key={link.href}>
-            <a href={link.href}>{t(link.label)}</a>
+            <a href={link.href} target={link.target} rel={link.rel}>
+              {t(link.label)}
+            </a>
           </li>
         ))}
       </ul>

+ 1 - 0
services/web/frontend/js/shared/components/navbar/nav-dropdown-from-data.tsx

@@ -71,6 +71,7 @@ export function NavDropdownMenuItems({
             <NavDropdownLinkItem
               key={index}
               href={child.url}
+              openInNewWindow={child.openInNewWindow}
               onClick={() => {
                 sendProjectListMB('menu-click', {
                   item: child.trackingKey as ExtraSegmentations['menu-click']['item'],

+ 11 - 1
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 (
     <DropdownListItem>
-      <DropdownItem href={href} role="menuitem" onClick={onClick}>
+      <DropdownItem
+        href={href}
+        role="menuitem"
+        onClick={onClick}
+        {...newWindowAttrs}
+      >
         {children}
       </DropdownItem>
     </DropdownListItem>

+ 1 - 0
services/web/frontend/js/shared/components/types/navbar.ts

@@ -16,6 +16,7 @@ export interface NavbarDropdownLinkItem extends NavbarDropdownTextItem {
   url: string
   trackingKey: string
   eventSegmentation?: Record<string, any>
+  openInNewWindow?: boolean
 }
 
 export type NavbarDropdownItem =

+ 2 - 1
services/web/locales/da.json

@@ -643,6 +643,7 @@
   "get_in_touch": "Kom i kontakt med os",
   "get_in_touch_having_problems": "<a href=\"__link__\">Kontakt support</a>, 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</0>",
   "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",

+ 2 - 1
services/web/locales/de.json

@@ -457,6 +457,7 @@
   "get_in_touch": "Kontaktiere uns",
   "get_in_touch_having_problems": "<a href=\"__link__\">Wende dich an den Support</a>, 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</0>",
   "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",

+ 2 - 1
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</0> 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",

+ 2 - 1
services/web/locales/zh-CN.json

@@ -760,6 +760,7 @@
   "get_in_touch_having_problems": "如果遇到问题,请<a href=\"__link__\">与支持部门联系</a>",
   "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>了解具体方法</0>",
   "latex_places_tables_according_to_a_special_algorithm": "LaTeX根据一种特殊的算法放置表格。可以使用“放置参数”来调整表格的位置<0>这篇文章</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 模板库",