diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..c5f3f6b9 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "interactive" +} \ No newline at end of file diff --git a/HUONG_DAN_CHUYEN_DOI.md b/HUONG_DAN_CHUYEN_DOI.md new file mode 100644 index 00000000..5a5d775a --- /dev/null +++ b/HUONG_DAN_CHUYEN_DOI.md @@ -0,0 +1,83 @@ +# Hướng Dẫn Chuyển Đổi HTML Tĩnh Sang Spring Boot (Thymeleaf) + +Tài liệu này hướng dẫn bạn cách tự tay chuyển đổi các file HTML tĩnh (như các trang của UMass) sang giao diện động dùng Thymeleaf trong Spring Boot. + +## 4 Bước Chuyển Đổi Thủ Công + +### Bước 1: Tạo file giao diện mới +1. Mở thư mục chứa giao diện của dự án: `sisvietnamvn/src/main/resources/templates/` +2. Tạo một file `.html` mới (Ví dụ: `schools-colleges.html`) +3. Dán "khung xương" cơ bản sau vào file vừa tạo: +```html + + + + + +
+ + + +
+ + + +``` + +### Bước 2: Copy "phần ruột" từ file gốc +1. Mở file HTML gốc (Ví dụ: `UMASS_sample\Schools & Colleges _ UMass Amherst.html`). +2. Bấm `Ctrl + F`, tìm thẻ `` đến thẻ đóng ``**. + > **Lưu ý:** Không copy các thẻ ``, ``, `
`, `
` ở file gốc vì file `layout.html` đã lo phần đó. Đảm bảo bạn đang copy mã nguồn HTML của trang UMass, chứ không copy nhầm giao diện của cửa sổ chat. +4. Dán nội dung vừa copy vào giữa thẻ `
` ở Bước 1. + +### Bước 3: Sửa lại đường dẫn Ảnh / Video (Rất quan trọng) +Sau khi dán xong, các bức ảnh sẽ bị lỗi đường dẫn. Bạn cần bấm `Ctrl + F` trong file mới tạo, tìm các thẻ `` và sửa lại: + +1. **Xóa** tất cả các thuộc tính `srcset="..."` hoặc `data-src="..."` hoặc `data-srcset="..."`. (Nếu để lại, trình duyệt sẽ ưu tiên tải các link lỗi này). +2. **Đổi** thuộc tính `src="..."` thành **`th:src="@{/images/umass/tên_file_ảnh.jpg}"`**. + +**Ví dụ sửa ảnh:** +```html + + + + + +``` + +### Bước 4: Khai báo URL trong Controller +Để khi gõ link trên trình duyệt, Spring Boot biết đường mở file HTML của bạn lên, bạn cần cấu hình Java: + +1. Mở file `src/main/java/com/sisvietnamvn/web/controller/HomeController.java`. +2. Thêm một hàm để ánh xạ URL tới file HTML bạn vừa tạo: +```java +package com.sisvietnamvn.web.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +@Controller +public class HomeController { + + @GetMapping("/") + public String home() { + return "index"; + } + + // --- THÊM CÁC TRANG MỚI Ở ĐÂY --- + + // Ví dụ cho trang Schools & Colleges: + @GetMapping("/schools-colleges") + public String schoolsColleges() { + return "schools-colleges"; // Phải khớp với tên file schools-colleges.html + } +} +``` + +--- + +## 🚀 Hoàn tất +1. Bạn vào Terminal và gõ: `.\gradlew bootRun` (nhớ nhấn `Ctrl + C` tắt cái cũ nếu đang chạy). +2. Mở trình duyệt gõ: `http://localhost:8082/schools-colleges`. +3. Bấm `Ctrl + F5` để tải lại giao diện hoàn chỉnh có đầy đủ CSS! diff --git a/design/[Main]1920.pdf b/Libs/design/[Main]1920.pdf similarity index 100% rename from design/[Main]1920.pdf rename to Libs/design/[Main]1920.pdf diff --git a/design/[Main]1920.png b/Libs/design/[Main]1920.png similarity index 100% rename from design/[Main]1920.png rename to Libs/design/[Main]1920.png diff --git a/design/[Main]390.pdf b/Libs/design/[Main]390.pdf similarity index 100% rename from design/[Main]390.pdf rename to Libs/design/[Main]390.pdf diff --git a/design/[Main]390.png b/Libs/design/[Main]390.png similarity index 100% rename from design/[Main]390.png rename to Libs/design/[Main]390.png diff --git a/design/[Main]768.pdf b/Libs/design/[Main]768.pdf similarity index 100% rename from design/[Main]768.pdf rename to Libs/design/[Main]768.pdf diff --git a/design/[Main]768.png b/Libs/design/[Main]768.png similarity index 100% rename from design/[Main]768.png rename to Libs/design/[Main]768.png diff --git a/UMASS_sample/Flex Finish _ UMass Flex _ UMass Amherst.html b/UMASS_sample/Flex Finish _ UMass Flex _ UMass Amherst.html index 003cb7d6..58737977 100644 --- a/UMASS_sample/Flex Finish _ UMass Flex _ UMass Amherst.html +++ b/UMASS_sample/Flex Finish _ UMass Flex _ UMass Amherst.html @@ -1,2362 +1,2988 @@ - - - - - - - - - - - - - - - - - - - - - - - + + - Flex Finish : UMass Flex : UMass Amherst - - - - + + + - - - - + + + + + + + + + + + + + + + + + + + + - - - + Flex Finish : UMass Flex : UMass Amherst + + + + - + + + + + -
+ + + + + + + + + +
-

The University of Massachusetts Amherst

- -
-
-
- - -
-
- - -
-
- -
- -
- - - - - - -
- + + +
-
-
-
-
- - - + + + + - - - + -
-
+
- -
- - - - -
- - - - - - - - - UMass Flex Header - Virtual Learning - - - - - -
- - -
- -
-
- - - - -
- - - UMass Flex - - -
- - - - -
- - -

- Flex Finish -

- - -
- -
-
- - -
- - -
-
- -
-
- - -
- -
-
- -
- -
- -
-
- - -
- - - - - - - - + + + + - - - - - - - - - - - - - - -
-
- - -
- -
- - - - - - - - - - - - -
-

The UWW Department of Interdisciplinary Studies offers online courses from more than forty academic departments, giving you the opportunity to complete your bachelor’s degree with a personalized concentration that aligns with your passions. Plus, you can earn credit for your life and work experience, saving both time and money while receiving expert guidance and support throughout your journey.

-
- - - - -
- - - - - - - - - - -
- - -
- - -
- - - - -
- - - - - - - UMass Amherst Student  -- IDS Poster - - - -
- - - -
- - -
- - -
- - - - - - - - - - - - - - - - - -
-
- - -
- -
- - - - - - - - - - - - -
-

Gain the competitive edge you need through hands-on courses that blend business fundamentals with real-world experience. Isenberg’s fully online Bachelor of Business Administration program offers five in-demand majors: accounting, finance, management, marketing, and operations and information management. Unlock exciting career opportunities and become a leader in today’s fast-paced business world.

-
- - - - -
- - - - - - - - - - -
- - -
- - -
- - - - -
- - - - - - - Isenberg Business Innovation Hub - - - -
- - - -
- - -
- - -
- - - - - - - - - - - - - - - - - -
-
- - -
- -
- - - - - - - - - - - - -
-

Discover how sustainable agriculture can lead to a fulfilling career that impacts both communities and the environment with a Bachelor of Science in sustainable food and farming. Whether you’re interested in growing food, supporting local communities, or shaping agricultural policy, our program offers pathways to a variety of exciting careers.

-
- - - - -
- - - - - - - - - - -
- - -
- - -
- - - - -
- - - - - - - students at farm - - - -
- - - -
- - -
- - -
- - - - - - - - - - - - - - - - - -
-
- - -
- -
- - - - - -
-

Sociology

-
- - - - - - -
-

Ready to make a difference in social policy, law, criminal justice, or advocacy? The fully online Bachelor of Arts in sociology from UMass Amherst is your pathway to a rewarding career. Flexible, affordable, and top-ranked, this 120-credit degree offers the same high-quality curriculum and expert faculty as our on-campus program.

-
- - - - -
- - - - - - - - - - -
- - -
- - -
- - - - -
- - - - - - - Students on Campus - - - -
- - - -
- - -
- - -
- - - - - - - - - - - - - - - - - -
-
-
- - - -
-

Explore Your Flex Finish Options

-
- - - -
-

Schedule a meeting with your academic advisor to explore all Flex Finish options available in your degree program. 

-
- +
+
- +
+ + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+
+ + + +
+
+
+ + +
+ + +
+ + - +
+ + + +
+
+
+ +
+ +
+
+ +
+ +
+ + + +
+ + +
+ + + +
+ + +
+ +
+ +
+
+
+
+ + + + + + +
+ +
+
+ +
+ + + + + + +
+
+ + +
+ + + + +
+ + + + + + + + + UMass Flex Header - Virtual Learning + + + + + +
+ + +
+ +
+
+ + + + +
+ + + UMass Flex + + +
+ + + + +
+ + +

+ Flex Finish +

+ + +
+ +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+ +
+
+ +
+ +
+ +
+
+ + + +
+ + + + + + + + + + + +
+
+ + +
+ +
+ + + + + +
+

Complete Your Bachelor’s Degree Fully Online

+
+ + + + + + +
+

Earn a UMass Amherst degree no matter where life takes you. + Whether you’re a community college student, a transfer student, or + balancing work and family commitments, our bachelor degree completion option lets + you receive the same high-quality education without needing to be on campus.

+
+ + + + +
+ + +
+ + + + +
+ + + + + + + Graduates celebrate during the 2023 commencement ceremony. + + + +
+ + + +
+ + +
+ + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

The UWW Department of Interdisciplinary Studies offers + online courses from more than forty academic + departments, giving you the opportunity to complete your + bachelor’s degree with a personalized concentration that + aligns with your passions. Plus, you can earn credit for + your life and work experience, saving both time and + money while receiving expert guidance and support + throughout your journey.

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + +
+ + + + + + + + + + +
+ + +
+ + +
+ + + + +
+ + + + + + + UMass Amherst Student  -- IDS Poster + + + +
+ + + +
+ + +
+ + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + + + + + + + + + + + +
+

Gain the competitive edge you need through hands-on courses that blend business + fundamentals with real-world experience. Isenberg’s fully online Bachelor of + Business Administration program offers five in-demand majors: accounting, finance, + management, marketing, and operations and information management. Unlock exciting + career opportunities and become a leader in today’s fast-paced business world.

+
+ + + + +
+ + + + + + + + + + +
+ + +
+ + +
+ + + + +
+ + + + + + + Isenberg Business Innovation Hub + + + +
+ + + +
+ + +
+ + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + + + + + + + + + + + +
+

Discover how sustainable agriculture can lead to a fulfilling career that impacts + both communities and the environment with a Bachelor of Science in sustainable food + and farming. Whether you’re interested in growing food, supporting local + communities, or shaping agricultural policy, our program offers pathways to a + variety of exciting careers.

+
+ + + + +
+ + + + + + + + + + +
+ + +
+ + +
+ + + + +
+ + + + + + + students at farm + + + +
+ + + +
+ + +
+ + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + + + + +
+

Sociology +

+
+ + + + + + +
+

Ready to make a difference in social policy, law, criminal justice, or advocacy? + The fully online Bachelor of Arts in sociology from UMass Amherst is your pathway to + a rewarding career. Flexible, affordable, and top-ranked, this 120-credit degree + offers the same high-quality curriculum and expert faculty as our on-campus program. +

+
+ + + + +
+ + + + + + + + + + +
+ + +
+ + +
+ + + + +
+ + + + + + + Students on Campus + + + +
+ + + +
+ + +
+ + +
+
+ + + + + + + + + + + + + + + + + +
+
+
+ + + +
+

Explore Your Flex Finish Options

+
+ + + +
+

Schedule a meeting with your academic advisor to explore all Flex Finish options + available in your degree program. 

+
+ +
+ + +
+
+ + + + + + + +
+ +
+
+ +
+ +
+ +
+
+ +
+ + + +
+ +
+
+ +
+ + +
+
+ +
+
- - - - -
- -
-
- -
- - - -
- -
-
- -
- - - - - - - - - - -
+ - - - - - - - + + + + -
\ No newline at end of file + +
+
+ + + \ No newline at end of file diff --git a/UMASS_sample/Schools & Colleges _ UMass Amherst.html b/UMASS_sample/Schools & Colleges _ UMass Amherst.html index 6f40b10f..b120e8c9 100644 --- a/UMASS_sample/Schools & Colleges _ UMass Amherst.html +++ b/UMASS_sample/Schools & Colleges _ UMass Amherst.html @@ -1,2612 +1,3203 @@ - - - - - - - - - - - - - - - - - - - - - + + - Schools & Colleges : UMass Amherst - - - - + + - - - - + + + + + + + + + + + + + + + + + + - - - + Schools & Colleges : UMass Amherst + + + + - + + + + -
+ + + + + + + + + +
-

The University of Massachusetts Amherst

- -
-
-
- - -
-
- - -
-
- -
- -
- - - - - - -
- + + + + + + + + + + +
+ + + + +
+ +
+
+
+ +
+ + + +
+ +
+
+
+ + + +
+
+
+ + +
+ + +
+ + + + + +
+ + + +
+
+
+ +
+ + +
+ +
+ +
+ + + + + + +
+ + +
+ +
- + -
- -
- -
-
-
-
- - - - - - -
- -
-
- -
- - - - - - - -
-
- - -
- - - - -
- - - - - - - - - Old Chapel and the W.E.B. Du Bois Library at UMass Amherst - - - - - -
- - -
- -
-
- - - - -
- - -

- Schools & Colleges -

- - -
- - -
- -
- - -
- - -
- -
-
- -
- -
- -
-
- - - -
- - - - - - - -
-
- -
-

With 12 schools and colleges and a wide range of programs—from 100+ undergraduate majors to dozens of master’s and doctoral degrees—UMass Amherst gives you the feel of smaller academic communities within a major research university. You’ll find distinctive programs you can shape around your interests, opportunities to collaborate across disciplines, and the support to build a path that’s uniquely yours.

-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - -
-

Find Your Path

-
- - - - -
- - - - -
- - - - - -
-
- - - - - -
- - - - - - - Furcolo Hall, UMass Amherst College of Education - - - -
- - - -
- -

- College of Education -

- - - -
-

Become a leader in education theory, policy, research, practice, and more through high-quality, internationally recognized programs of study, award-winning outreach initiatives, and five prolific research centers.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst College of Engineering - - - -
- - - -
- -

- Daniel J. Riccio Jr. College of Engineering -

- - - -
-

Join a top-ranked college that prepares students for industrial, research, and leadership opportunities in emerging areas such as bioengineering, nanocomputing, water resources and off-shore wind energy.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - South College at UMass Amherst - - - -
- - - -
- -

- College of Humanities and Fine Arts -

- - - -
-

Express yourself and your views of the world around you through classical humanities disciplines such as literature and philosophy, a world-renowned Department of Linguistics, exceptional performing and visual arts programs; and interdisciplinary departments considering language and identity.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst Computer Science Building - - - -
- - - -
- -

- Robert and Donna Manning College of Information & Computer Sciences -

- - - -
-

Internationally recognized for its research activities and with one of the highest ranked and most competitive graduate programs in the nation, the College of Information and Computer Sciences supports a culture of collaboration and leadership in multidisciplinary research.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst Physical Science Building - - - -
- - - -
- -

- College of Natural Sciences -

- - - -
-

Serving as the university’s land-grant mission for Massachusetts, the College of Natural Sciences unites the life, environmental, computational, and physical sciences, and mathematics through cutting-edge research, top-ranked academic programs, and renowned faculty.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - Skinner Hall at UMass Amherst - - - -
- - - -
- -

- Elaine Marieb College of Nursing -

- - - -
-

Ranked among the top 25 in the country by U.S. News & World Report, the Elaine Marieb College of Nursing develops vital nurse educators and researchers to inform and help shape future generations of nursing innovators.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst Integrative Learning Center - - - -
- - - -
- -

- College of Social and Behavioral Sciences -

- - - -
-

Bridging the sciences and liberal arts, the College of Social and Behavioral Sciences is the interdisciplinary hub for areas of culture, society, and individual behavior with a focus on promoting citizenship and global understanding.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst Commonwealth Honors College - - - -
- - - -
- -

- Commonwealth Honors College -

- - - -
-

Experience the advantages of a small college environment combined with access to the opportunities and resources of a nationally recognized research university.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst Isenberg Business Innovation Hub - - - -
- - - -
- -

- Isenberg School of Management -

- - - -
-

Accredited at the highest level by the AACSB and ranked in the top 10% of all business schools by U.S. News & World Report, the Isenberg School of Management offers a range of rigorous academic programs and world-class research strengths in alternative investments, quality management, and more.
 

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst School of Public Health and Health Sciences - - - -
- - - -
- -

- School of Public Health and Health Sciences -

- - - -
-

The only state-supported CEPH-accredited school of public health in New England, the School of Public Health and Health Sciences addresses pressing cross-cutting issues such as obesity, diabetes prevention, women’s health, global health, aging, environmental exposures, and autism spectrum disorders.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst Agricultural Learning Center - - - -
- - - -
- -

- Stockbridge School of Agriculture -

- - - -
-

Within the College of Natural Sciences, the Stockbridge School of Agriculture is ranked #2 in the nation by U.S. News & World Report and offers a vibrant spectrum of teaching, research, outreach, and academic programs in agriculture, landscapes, environments, and more.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst Graduate Commons - - - -
- - - -
- -

- Graduate School -

- - - -
-

Advance your career, learn new skills, and stand out to employers through a range of graduate-level degrees and certificates, as well as professional development activities and funding for fellowships, conference travel, and research.

-
- - - - - - - - - - - -
- - -
- - -
- -
- - - - - - - -
- -
-
- -
- -
- -
-
- -
- - - - - - - - - - - -
-
- -
-

Keep Exploring

-
- - -
+
+ +
+
+
+
- +
+ +
+
+ +
+ + + + + + + +
+
+ + +
+ + + + +
+ + + + + + + + + Old Chapel and the W.E.B. Du Bois Library at UMass Amherst + + + + + +
+ + +
+ +
+
+ + + + +
+ + +

+ Schools & Colleges +

+ + +
+ + +
+ +
+ + +
+
+ + +
+ +
+
+ +
+ +
+ +
+
+ + + +
+ + + + + + + +
+
+ +
+

With 12 schools and colleges and a wide range of programs—from 100+ undergraduate + majors to dozens of master’s and doctoral degrees—UMass Amherst gives you the feel of + smaller academic communities within a major research university. You’ll find distinctive + programs you can shape around your interests, opportunities to collaborate across + disciplines, and the support to build a path that’s uniquely yours.

+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + +
+

Find Your Path

+
+ + + + +
+ + + + +
+ + + + + +
+
+ + + + + +
+ + + + + + + Furcolo Hall, UMass Amherst College of Education + + + +
+ + + +
+ +

+ College of Education +

+ + + +
+

Become a leader in education theory, policy, research, practice, and more + through high-quality, internationally recognized programs of study, + award-winning outreach initiatives, and five prolific research centers.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst College of Engineering + + + +
+ + + +
+ +

+ Daniel J. Riccio Jr. College of Engineering +

+ + + +
+

Join a top-ranked college that prepares students for industrial, research, and + leadership opportunities in emerging areas such as bioengineering, + nanocomputing, water resources and off-shore wind energy.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + South College at UMass Amherst + + + +
+ + + +
+ +

+ College of Humanities and Fine Arts +

+ + + +
+

Express yourself and your views of the world around you through classical + humanities disciplines such as literature and philosophy, a world-renowned + Department of Linguistics, exceptional performing and visual arts programs; and + interdisciplinary departments considering language and identity.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst Computer Science Building + + + +
+ + + +
+ +

+ Robert and Donna Manning College of Information & Computer Sciences +

+ + + +
+

Internationally recognized for its research activities and with one of the + highest ranked and most competitive graduate programs in the nation, the College + of Information and Computer Sciences supports a culture of collaboration and + leadership in multidisciplinary research.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst Physical Science Building + + + +
+ + + +
+ +

+ College of Natural Sciences +

+ + + +
+

Serving as the university’s land-grant mission for Massachusetts, the College + of Natural Sciences unites the life, environmental, computational, and physical + sciences, and mathematics through cutting-edge research, top-ranked academic + programs, and renowned faculty.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + Skinner Hall at UMass Amherst + + + +
+ + + +
+ +

+ Elaine Marieb College of Nursing +

+ + + +
+

Ranked among the top 25 in the country by U.S. News & World Report, the + Elaine Marieb College of Nursing develops + vital nurse educators and researchers to inform and help shape future generations of + nursing innovators.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst Integrative Learning Center + + + +
+ + + +
+ +

+ College of Social and Behavioral Sciences +

+ + + +
+

Bridging the sciences and liberal arts, the College of Social and Behavioral + Sciences is the interdisciplinary hub for areas of culture, society, and + individual behavior with a focus on promoting citizenship and global + understanding.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst Commonwealth Honors College + + + +
+ + + +
+ +

+ Commonwealth Honors College +

+ + + +
+

Experience the advantages of a small college environment combined with access + to the opportunities and resources of a nationally recognized research + university.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst Isenberg Business Innovation Hub + + + +
+ + + +
+ +

+ Isenberg School of Management +

+ + + +
+

Accredited at the highest level by the AACSB and ranked in the top 10% of all + business schools by U.S. News & World Report, the Isenberg School of + Management offers a range of rigorous academic programs and world-class research + strengths in alternative investments, quality management, and more.
  +

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst School of Public Health and Health Sciences + + + +
+ + + +
+ +

+ School of Public Health and Health Sciences +

+ + + +
+

The only state-supported CEPH-accredited school of public health in New + England, the School of Public Health and Health Sciences addresses pressing + cross-cutting issues such as obesity, diabetes prevention, women’s health, + global health, aging, environmental exposures, and autism spectrum disorders. +

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst Agricultural Learning Center + + + +
+ + + +
+ +

+ Stockbridge School of Agriculture +

+ + + +
+

Within the College of Natural Sciences, the Stockbridge School of Agriculture + is ranked #2 in the nation by U.S. News & World Report and offers a vibrant + spectrum of teaching, research, outreach, and academic programs in agriculture, + landscapes, environments, and more.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst Graduate Commons + + + +
+ + + +
+ +

+ Graduate School +

+ + + +
+

Advance your career, learn new skills, and stand out to employers through a + range of graduate-level degrees and certificates, as well as professional + development activities and funding for fellowships, conference travel, and + research.

+
+ + + + + + + + + + + +
+ + +
+
+ + +
+ +
+
+ + + + + + + +
+ +
+
+ +
+ +
+ +
+
+ +
+ + + + + + + + + + + +
+
+ +
+

Keep Exploring

+
+ + + +
+
+ + + + + + + +
+ +
+
+ +
+ + +
+
+ +
+
-
- -
- - -
-
- -
- -
- -
-
+ -
- - + - - - - - - + + + + -
\ No newline at end of file + +
+
+ + + \ No newline at end of file diff --git a/UMASS_sample/UMass 4+1 Accelerated Master's Degree Programs _ UMass Amherst.html b/UMASS_sample/UMass 4+1 Accelerated Master's Degree Programs _ UMass Amherst.html index 0fabf804..055e9353 100644 --- a/UMASS_sample/UMass 4+1 Accelerated Master's Degree Programs _ UMass Amherst.html +++ b/UMASS_sample/UMass 4+1 Accelerated Master's Degree Programs _ UMass Amherst.html @@ -1,4031 +1,5339 @@ - - - - - - - - - - - - - - - - - - - - - + + - UMass 4+1 Accelerated Master's Degree Programs : UMass Amherst - - - - + + + + - - - - + + + + + + + + + + + + + + + + + + - - - + UMass 4+1 Accelerated Master's Degree Programs : UMass Amherst + + + + - + + + + -
+ + + + + + + + + +
-

The University of Massachusetts Amherst

- -
-
-
- - -
-
- - - +
+
+ + + + + + + + + - + - - - -
+
+ -
-
-
- + + Visit + + +
- +
+ +
+ + + + +
- + + +
+
+
+ + + +
+
+
+ +
- - - - - - - - - - - -
-
- - -
- - -
-
-
- - - -
- -
- -
- - - - - - + + + + + + + + +
+ + - -
- - - -
-
-
- -
- - -
- -
- -
- - - - - - -
- - -
- - - -
- - -
- -
- -
-
-
-
- - - - - - -
- -
-
- -
- - - - - - -
-
- - -
- - - - -
- - - - - - - - - Accelerated Masters 4+1 Students - - - - - -
- - -
- -
-
- - - -
- - -

- UMass 4+1 Accelerated Master's Degree Programs -

- - -
-
-
- - -
- - -
-
- -
-
- -
-
-
+ +
-
+
-
-
+
-
- - - - - - - - -
-
- -
-
+
- - - -
-

Jumpstart your future career with UMass 4+1

-
- - - - - - -
-

UMass 4+1 accelerated master's programs allow you to earn your bachelor’s degree plus your master’s degree in a combined effort.

  • Gain a competitive edge by getting ahead in your career path.
  • Get more from your time at UMass.
  • Earn two degrees in as few as five years.
  • Multiple degree options available to achieve your career goals.

 

-
- - - - -
- - -
- - - - -
- - - - - - - UMass Accelerated Masters Jumpstarting their careers - - - -
- - - -
- - -
- - -
- - - - - - - - - - - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - -
-

The UMass 4+1 difference

-
- - - - -
- - - - -
- - - - - -
-
- - - -
- -

- Simplifying your path to graduate school -

- - - -
-
  • No GRE required.
  • $0 application fees.
  • Seamless transition.
-
- - - - -
- - -
- - - - - -
-
- - - -
- -

- Get started sooner -

- - - -
-
  • Convenient, cost-effective way to start your career.
  • Save time: earn two degrees in a total of five years (or sooner) vs. the traditional six or seven.
-
- - - - -
- - -
- - - - - -
-
- - - -
- -

- Greater job opportunities -

- - - -
-
  • Gain a competitive edge.
  • Greater income potential over time.
  • Combine interests to broaden your educational experience as well as career prospects.
-
- - - - -
- - -
- - -
- -
- - - - - - - - - - - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - -
- - - - -
-

Why UMass 4+1?

-
- - - - - -
- -
-
- - -
-

The Materials Science & Engineering 4+1 degree gave me the perfect opportunity to advance my career, refine my studies, and pursue a passion of mine while continuing to be a part of the UMass community. This program gave me an opportunity that I didn’t have in undergrad to study a distinctive interest in materials while gaining industry experience, working for my university, and taking unique and specialized courses. Ultimately, I am thankful to the UMass 4+1 program for the opportunity to pursue a fascinating field and start my career off at a higher level.

Sage Seymour, UMass 4+1 BS Biomedical Engineering / MS in Material Science Engineering

-
- - - -
-
- - -
-

Isenberg’s MS in Business Analytics (MSBA) 4+1 not only accelerates my entry into the workforce with a master's level qualification, but also equips me with the expertise sought after by industries increasingly reliant on data-driven insights. Additionally, employers frequently find the MSBA program interesting and a great conversation starter.” Gina Zarcone, UMass 4+1 Master of Science in Business Analytics.

Gina Zarcone, UMass 4+1 Master of Science in Business Analytics

-
- - - -
-
- - -
-

The UMass 4+1 accelerated master's program has provided me with the necessary tools to be successful as a young woman leader, through a curriculum that facilitates confidence, growth, and empowerment. I will be able to enter the workforce quickly with an advanced degree, tangible skills, and a strong passion for making a difference in my community.

Julia Fox, UMass 4+1 Master of Public Policy

 

-
- - - -
-
- - -
-

The UMass 4+1 program has been rigorously preparing me with necessary skills all within the timeline that works best for me. On top of that, the DACSS curriculum emphasizes critical applications of quantitative methodologies, which, for me, is imperative for anyone interested in using data for social good.

Leah Dion, UMass 4+1 Master of Science in Data Analytics and Computational Social Science

-
- - - -
-
-
- - -
- -
-
- -
- - - - - - - Sage Seymour - - - -
- - - -
-
+
+ - +
-
- - - - - - - Gina Garzone - - - -
+
- - - -
-
+
+
+
+
- -
- - - - - - - Julia Fox - - - -
- - - -
-
- -
- - - - - - - Leah UMass 4+1 Master of Data Analytics and Computational Social Science Student - - - -
- - - -
-
+
+
+
-
+
- - - - +
+
-
-
- +
-
- +
- - - -
-
- -
+ Accelerated Masters 4+1 Students - - - - -
-
+
-
-

DISCOVER UMASS 4+1 ACCELERATED MASTER'S PROGRAMS

-
-
+
- +
+
- - - +
- - - - +

+ UMass 4+1 Accelerated Master's Degree Programs +

-
-
- - -
- -
-

- -

+
+
+
- -
+
+
- - +
+
+ + + + + + - - + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
- +
- +
+ +
+ +
+
+ +
- - - - - - - - - - - - - - - - + +
+
+ + +
+ +
+ + + + + +
+

Jumpstart your future career with UMass 4+1

+
+ + + + + + +
+

UMass 4+1 accelerated master's programs allow you to earn your bachelor’s degree + plus your master’s degree in a combined effort.

+
    +
  • Gain a competitive edge by getting ahead in your career path. +
  • +
  • Get more from your time at UMass.
  • +
  • Earn two degrees in as few as five years.
  • +
  • Multiple degree options available to achieve your career goals. +
  • +
+

 

+
+ + + + +
+ + +
+ + + + +
+ + + + + + + UMass Accelerated Masters Jumpstarting their careers + + + +
+ + + +
+ + +
+ + +
-
-
- - - - - - - - -
-
- - - -
- - - - - - - - -
-
- -
-

What is UMass 4+1?

UMass 4+1 is the program that gives academic credit toward your undergraduate degree while at the same time fulfilling some of the course requirements of a graduate degree.


 

What is an accelerated master's program?

An accelerated master’s degree is an explicit arrangement of graduate admissions, courses, and requirements to enable you to complete the requirements for a baccalaureate degree and a specified master’s degree in less calendar time (accelerated) than would be required through normal sequential enrollment.


 

Could I earn more with a master's degree?

Absolutely. According to the U.S. Department of Labor Statistics(link is external), “Each level of education you complete may help you develop more skills, give you access to higher paying occupations, and signal that you’re able to follow through on important tasks, such as planning ahead and meeting deadlines, that employers value.”


 

Are there remote or flexible learning options for UMass 4+1?

Yes! At UMass Amherst, we holistically work to support your learning goals. Many courses and programs have hybrid and flexible learning options, powered by UMass Flex, to optimize the experience and support equitable learning. Inquire about a specific UMass 4+1 accelerated master's program of your interest and ask what’s available for online, hybrid, or UMass Flex.


 

How do I apply to a UMass 4+1 program?

The standard application procedures for admission to UMass 4+1 remains conditional until the applicant completes the baccalaureate degree and fulfills the Graduate School and chosen graduate program’s requirements for admission. Once you are ready to learn more, contact the specific school that offers the program. Current students can review the Transfer Credits form.


 

Do I have to be a UMass Amherst student to enroll?

Undergraduate students at UMass Amherst, as well as colleges in the Five College Consortium (Amherst College, Hampshire College, Mount Holyoke College, and Smith College), are welcome to apply to UMass 4+1 to seamlessly continue their graduate studies and finish their degree.

 

-
- -
- - - - - - - - - - - -
-
- - - -
- - - - - - -
-
- - - -
+
+
- - - - - - - - -
-
- -
-

UMass 4+1 students may be eligible to complete the program sooner by accelerating their studies (specifically, students that enter UMass Amherst with multiple AP credits). Check with the individual program to discuss different opportunities for you.

UMass 4+1: UMass 4+1 is a portfolio of master's programs specific to the University of Massachusetts Amherst. Open to UMass Amherst students as well as other colleges in the Five College Consortium.

Accelerated Master's: An accelerated master's degree option is an explicit arrangement of graduate admissions, courses, and other requirements to enable a student to complete the requirements for a baccalaureate degree and a specified master's degree in less calendar time than would be required through normal sequential enrollment.

Specialized Master's: A portfolio of master's degree programs that are available as Accelerated Master's programs for UMass 4+1.

Application Fee Waiver: For current UMass Amherst and other Five College undergraduate students applying to a master's-only program, excluding MFA programs, the fee is automatically waived; no additional documentation is necessary.

-
- -
- - - - +
+
-
- -
-
- -
- -
- -
-
- -
- - - - - - - - - -
-
-
-

Keep Exploring

-
- +
+ +
+ +
+ +
+
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + +
+ +
+
+ +
+ + +
+
+
-
- -
- - - - - -
-
- -
- - -
-
- -
- -
- -
-
+ -
- - + - - - - - - + + + + -
\ No newline at end of file + +
+
+ + + \ No newline at end of file diff --git a/UMASS_sample/UMass Amherst _ UMass Amherst.html b/UMASS_sample/UMass Amherst _ UMass Amherst.html index 85f0c2dd..d7b009cc 100644 --- a/UMASS_sample/UMass Amherst _ UMass Amherst.html +++ b/UMASS_sample/UMass Amherst _ UMass Amherst.html @@ -1,3829 +1,4890 @@ - - - - - - - - - - - - - - - - - + + - UMass Amherst : UMass Amherst - - - - + + - - - - + + + + + + + + + + + + + + - - - + UMass Amherst : UMass Amherst + + + + - + + + + -
+ + + + + + + + + +
-

The University of Massachusetts Amherst

- -
-
-
- - -
-
- - - +
+
+ + + + + + + + + - + - - - -
+
+ -
-
-
- + + Visit + + +
- +
+ +
+ + + + +
- + + +
+
+
+ + + +
+
+
+ +
- - - - - - - - - - - -
-
- - -
- - -
-
-
- - - -
- -
- -
- - - - - - + + + + + + +
+ + + +
+
- -
-
-
- + +
+ +
+ +
+ - -
-
-
- - - -
- -
- +
+ +
- + -
- -
- -
-
-
-
- - - - -
- -
-
- -
- - - - - - - - - - - - - - - - - - - - -
-
- - - -
- -
- - Graduating students celebrate at McGuirk Stadium prior to 2025 Undergraduate Commencement -
- -
- -
-
- - -
-
- - -
- -
-
-

- Congratulations, Class of 2026 -

- - - - - - - - - - - - - -
-
- - -
- - - - - - -
-
-
- -
- -
- -
-
- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- +
+
+
+
+ + + + +
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + Graduating students celebrate at McGuirk Stadium prior to 2025 Undergraduate Commencement +
+ +
+ +
+
+ + +
+
+ + +
+ +
+
+

+ Congratulations, + Class of 2026 +

+ + + + + + + + + + + + + +
+
+ +
+ + +
+
+ + + -
-

Step Into Your Future

-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - -
- - - - -
-

What's Life Like at UMass?

-
- - - - - -
- -
-
- - - - -
-

- Make UMass Your Own -

-
- - - -
-

Explore big ideas, join vibrant communities, and shape a college experience that’s uniquely yours.

-
- - - - - - -
-
- - - - -
-

- Your Campus Home -

-
- - - -
-

Choose from vibrant residential communities where students live, study, and build lasting friendships steps from the classroom.

-
- - - - - - -
-
- - - - -
-

- Food Worth Talking About -

-
- - - -
-

Discover why UMass dining is ranked #1 nationally—recognized for quality, variety, and sustainability.

-
- - - - - - -
-
- - - - -
-

- Amherst, Uncommon -

-
- - - -
-

A vibrant creative culture, great food, and the natural beauty of the Pioneer Valley come together to shape this town’s distinctive, welcoming spirit.

-
- - - -
- - - - - - - - - - -
- - -
-
-
- - -
- -
-
- - - -
- - - - - - - A UMass student plays ping pong. - - - -
- - - - - - - - - - - - -
- -
- - - -
-
- - - -
- - - - - - - A UMass student sits on her bed in a dorm room. - - - -
- - - - - - - - - - - - -
- -
- - - -
-
- - - -
- - - - - - - A student gets food at a UMass Amherst dining hall. - - - -
- - - - - - - - - - - - -
- -
- - - -
-
- - - -
- - - - - - - A UMass student holds a hote bag that reads "I Love Amherst." - - - -
- - - - - - - - - - - - -
- -
- - - -
-
- - -
- - - - - - - - - - - - - -
-
- - - -
-
-
-
#1
-

Public Research University in New England,
Non-Medical School R&D Expenditures

-
-
-
-
-
251
-

Total Degree Programs

-
-
-
-
-
Top 50
-

Best Value Colleges (Public), The Princeton Review

-
-
-
- - - -
- - - - - - - - - - - - - - -
-
-
- -

- Excellence in Action -

- -
- -

UMass Amherst advances academic excellence through research, teaching, and engagement across campus. Students and faculty drive discovery through programs, scholarship, and events that extend beyond the classroom.

- -
- - - -
- -
-
-
- - - - - - - -
- -
- -
- - -
A group of five students lean over laptops in a classroom - - -
- -
-
- -
- - - -
- - - -
-
- - - - - - - -
- -
- -
- - -
Tinashe performs at the Spring Concert. - - -
- -
-
- -
- - - -
- - - -
-
- - - - - - - -
- -
- -
- - -
Two students work with building tools. - - -
- -
-
- -
- - - -
- - - -
-
- - - - - - - -
- -
- -
- - -
Vy Do in UMas Amherst biomedical engineering lab - - -
- -
-
- -
- - - -
- - - -
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - -
-

Blaze Your Own Trail

-
- - - - -
-

Discover more than 100 undergraduate majors, minors, and certificates in fields ranging from engineering to public health to literature. You can even design your own major through our individual concentration program. Whatever your path, UMass gives you the freedom to explore and the tools to excel.

-
- - -
- - - - -
- - - - - -
-
- - - - - -
- - - - - - - A professor walks with students in the rooftop garden of the Olver Design Building. - - - -
- - - -
- -

- Find a Program -

- - - -
-

With more than 100 majors, you have the freedom to explore your interests and build an academic path that reflects who you are and where you want to go.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst Drone Campus - - - -
- - - -
- -

- Design Your Own Major -

- - - -
-

Through the Bachelor’s Degree with Individual Concentration (BDIC) Program, students can create a personalized major, blending courses across fields to explore passions beyond traditional academic boundaries.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst Study Abroad London - - - -
- - - -
- -

- Study Abroad -

- - - -
-

Global learning opportunities immerse students in new cultures, expanding their perspectives and preparing them to thrive in a connected world.

-
- - - - - - - - - - - -
- - -
- - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - -
-

APPLY TODAY

-
- - -
- - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - -
-

I'm Looking For...

-
- - -
- - -
-
- - - - - - - - - - - -
-
- - - -
- - - - - - - - - - - -
-
- - -
-

- NEWS & EVENTS -

- - - More News & Events - -
- -

- FEATURED ARTICLES -

- - - -
- -
-

- LATEST NEWS -

- -
-
- - - -
-
- - - -
+
-
-
-

- Events -

- -
-
JUN
02
10:00 am – 4:00 pm
UMass Downtown
JUN
02
5:00 pm – 6:00 pm
Orchard Hill Pavilion
-
-
+
-
+
- - +
+
-
+
-
-
-
-
-
-
-
-
- + + + + + + + + + + + +
+
+
+ + + +
+

Step Into Your Future

+
+ + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + + +
+

What's Life Like at UMass?

+
+ + + + + +
+ +
+
+ + + + +
+

+ Make UMass Your Own +

+
+ + + +
+

Explore big ideas, join vibrant communities, and shape a college experience + that’s uniquely yours.

+
+ + + + + + +
+
+ + + + +
+

+ Your Campus Home +

+
+ + + +
+

Choose from vibrant residential communities where students live, study, and + build lasting friendships steps from the classroom.

+
+ + + + + + +
+
+ + + + +
+

+ Food Worth Talking About +

+
+ + + +
+

Discover why UMass dining is ranked #1 nationally—recognized for quality, + variety, and sustainability.

+
+ + + + + + +
+
+ + + + +
+

+ Amherst, Uncommon +

+
+ + + +
+

A vibrant creative culture, great food, and the natural beauty of the Pioneer + Valley come together to shape this town’s distinctive, welcoming spirit.

+
+ + + +
+ + + + + + + + + + +
+ + +
+
+
+ + +
+ +
+
+ + + +
+ + + + + + + A UMass student plays ping pong. + + + +
+ + + + + + + + + + + + +
+ +
+ + + +
+
+ + + +
+ + + + + + + A UMass student sits on her bed in a dorm room. + + + +
+ + + + + + + + + + + + +
+ +
+ + + +
+
+ + + +
+ + + + + + + A student gets food at a UMass Amherst dining hall. + + + +
+ + + + + + + + + + + + +
+ +
+ + + +
+
+ + + +
+ + + + + + + A UMass student holds a hote bag that reads "I Love Amherst." + + + +
+ + + + + + + + + + + + +
+ +
+ + + +
+
+ + +
+
+ + + + + + + + + + + + + +
+
+ + + +
+
+
+
#1
+
+

Public Research University in New England,
Non-Medical School R&D + Expenditures

+
+
+
+
+
+
251
+
+

Total Degree Programs

+
+
+
+
+
+
Top 50
+
+

Best Value Colleges (Public), The Princeton Review

+
+
+
+
+ + + +
+
+ + + + + + + + + + + + + + +
+
+
+ +

+ Excellence in Action +

+ +
+ +
+

UMass Amherst advances academic excellence through research, teaching, and + engagement across campus. Students and faculty drive discovery through programs, + scholarship, and events that extend beyond the classroom.

+
+ +
+ + + +
+ +
+
+
+ + + + + + + +
+ +
+ +
+
+ + +
A group of five students lean over laptops in a classroom + + +
+ +
+
+ +
+ + + +
+ + + +
+
+ + + + + + + +
+ +
+ +
+
+ + +
Tinashe performs at the Spring Concert. + + +
+ +
+
+ +
+ + + +
+ + + +
+
+ + + + + + + +
+ +
+ +
+
+ + +
Two students work with building tools. + + +
+ +
+
+ +
+ + + +
+ + + +
+
+ + + + + + + +
+ +
+ +
+
+ + +
Vy Do in UMas Amherst biomedical engineering lab + + +
+ +
+
+ +
+ + + +
+ + + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + +
+

Blaze Your Own Trail

+
+ + + + +
+

Discover more than 100 undergraduate majors, minors, and certificates in fields + ranging from engineering to public health to literature. You can even design your own + major through our individual concentration program. Whatever your path, UMass gives + you the freedom to explore and the tools to excel.

+
+ + +
+ + + + +
+ + + + + +
+
+ + + + + +
+ + + + + + + A professor walks with students in the rooftop garden of the Olver Design Building. + + + +
+ + + +
+ +

+ Find a Program +

+ + + +
+

With more than 100 majors, you have the freedom to explore your interests and + build an academic path that reflects who you are and where you want to go.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst Drone Campus + + + +
+ + + +
+ +

+ Design Your Own Major +

+ + + +
+

Through the Bachelor’s Degree with Individual Concentration (BDIC) Program, + students can create a personalized major, blending courses across fields to + explore passions beyond traditional academic boundaries.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst Study Abroad London + + + +
+ + + +
+ +

+ Study Abroad +

+ + + +
+

Global learning opportunities immerse students in new cultures, expanding their + perspectives and preparing them to thrive in a connected world.

+
+ + + + + + + + + + + +
+ + +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+

APPLY TODAY

+
+ + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+

I'm Looking For...

+
+ + +
+ + +
+
+ + + + + + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + +
+
+ + +
+

+ NEWS & EVENTS +

+ + + More News & Events + +
+ +

+ FEATURED ARTICLES +

+ + + +
+ +
+

+ LATEST NEWS +

+ +
+
+ + + +
+
+ + + +
+
+
+ +
+

+ Events +

+ +
+ + +
+
+
+
+
+
MAY
+
27
+
+ +
+
+
+
+
+
MAY
+
28
+
+ +
+
+
+
+
+
JUN
+
02
+
+
+ +
10:00 am – 4:00 pm
+
UMass Downtown
+
+
+
+
+
+
+
JUN
+
02
+
+
+ +
5:00 pm – 6:00 pm
+
Orchard Hill Pavilion
+
+
+
+
+
+
+
+ +
+ + + + +
+
+ + + + + +
+ +
+
+ +
+ +
+ +
+
+ +
+ + + +
+ +
+
+ +
+ + +
+
-
- -
-
-
- -
- -
- -
-
+
- - - - - - - + + + + -
\ No newline at end of file + +
+
+ + + \ No newline at end of file diff --git a/UMASS_sample/UMass Amherst _ UMass Amherst_files/7D_TnBztQhU.html b/UMASS_sample/UMass Amherst _ UMass Amherst_files/7D_TnBztQhU.html index 9ff42c6e..3810c12e 100644 --- a/UMASS_sample/UMass Amherst _ UMass Amherst_files/7D_TnBztQhU.html +++ b/UMASS_sample/UMass Amherst _ UMass Amherst_files/7D_TnBztQhU.html @@ -1,16 +1,485 @@ -UMass Dorm Tour: What Living on Campus Actually Looks Like #umass #dormlife #college - YouTube
+ + \ No newline at end of file diff --git a/UMASS_sample/UMass Amherst _ UMass Amherst_files/D-gyJU25cVI.html b/UMASS_sample/UMass Amherst _ UMass Amherst_files/D-gyJU25cVI.html index 8a678710..4d8060b4 100644 --- a/UMASS_sample/UMass Amherst _ UMass Amherst_files/D-gyJU25cVI.html +++ b/UMASS_sample/UMass Amherst _ UMass Amherst_files/D-gyJU25cVI.html @@ -1,16 +1,342 @@ -YouTube
+ + \ No newline at end of file diff --git a/UMASS_sample/UMass Amherst _ UMass Amherst_files/TjOLvw26rR8.html b/UMASS_sample/UMass Amherst _ UMass Amherst_files/TjOLvw26rR8.html index 22944f6e..fd70c363 100644 --- a/UMASS_sample/UMass Amherst _ UMass Amherst_files/TjOLvw26rR8.html +++ b/UMASS_sample/UMass Amherst _ UMass Amherst_files/TjOLvw26rR8.html @@ -1,16 +1,342 @@ -YouTube
+ + \ No newline at end of file diff --git a/UMASS_sample/UMass Amherst _ UMass Amherst_files/YRzZ9aRZ69w.html b/UMASS_sample/UMass Amherst _ UMass Amherst_files/YRzZ9aRZ69w.html index e08281d1..33e01f31 100644 --- a/UMASS_sample/UMass Amherst _ UMass Amherst_files/YRzZ9aRZ69w.html +++ b/UMASS_sample/UMass Amherst _ UMass Amherst_files/YRzZ9aRZ69w.html @@ -1,16 +1,485 @@ -Why UMass is Ranked #1 for Campus Dining 🍣🌮 #food #umass #campuslife - YouTube
+ + \ No newline at end of file diff --git a/UMASS_sample/UMass Amherst _ UMass Amherst_files/Y_I8hyDU8kY.html b/UMASS_sample/UMass Amherst _ UMass Amherst_files/Y_I8hyDU8kY.html index 72aaf3e5..bafa0ec7 100644 --- a/UMASS_sample/UMass Amherst _ UMass Amherst_files/Y_I8hyDU8kY.html +++ b/UMASS_sample/UMass Amherst _ UMass Amherst_files/Y_I8hyDU8kY.html @@ -1,16 +1,343 @@ -YouTube
+ + \ No newline at end of file diff --git a/UMASS_sample/UMass Amherst _ UMass Amherst_files/agqIJlJpbAY.html b/UMASS_sample/UMass Amherst _ UMass Amherst_files/agqIJlJpbAY.html index e8d02d83..367a9006 100644 --- a/UMASS_sample/UMass Amherst _ UMass Amherst_files/agqIJlJpbAY.html +++ b/UMASS_sample/UMass Amherst _ UMass Amherst_files/agqIJlJpbAY.html @@ -1,16 +1,485 @@ -Exploring Downtown Amherst! #umass #college #massachusetts - YouTube
+ + \ No newline at end of file diff --git a/UMASS_sample/UMass Amherst _ UMass Amherst_files/q0ZxZVbnMqs.html b/UMASS_sample/UMass Amherst _ UMass Amherst_files/q0ZxZVbnMqs.html index 561fdd55..a800306d 100644 --- a/UMASS_sample/UMass Amherst _ UMass Amherst_files/q0ZxZVbnMqs.html +++ b/UMASS_sample/UMass Amherst _ UMass Amherst_files/q0ZxZVbnMqs.html @@ -1,16 +1,532 @@ -What it’s Really Like to be a UMass Student? #UMass #college #studentlife - YouTube
+ + \ No newline at end of file diff --git a/UMASS_sample/UMass Amherst _ UMass Amherst_files/tmBK-qTPQow.html b/UMASS_sample/UMass Amherst _ UMass Amherst_files/tmBK-qTPQow.html index 2f467921..0e97052e 100644 --- a/UMASS_sample/UMass Amherst _ UMass Amherst_files/tmBK-qTPQow.html +++ b/UMASS_sample/UMass Amherst _ UMass Amherst_files/tmBK-qTPQow.html @@ -1,16 +1,631 @@ -Homepage - Dining - YouTube
UMass Amherst10.1k subscribers
+ + \ No newline at end of file diff --git a/UMASS_sample/Undergraduate Study _ UMass Amherst.html b/UMASS_sample/Undergraduate Study _ UMass Amherst.html index c1ad084c..44b961dd 100644 --- a/UMASS_sample/Undergraduate Study _ UMass Amherst.html +++ b/UMASS_sample/Undergraduate Study _ UMass Amherst.html @@ -1,2740 +1,3431 @@ - - - - - - - - - - - - - - - - - - - - - + + - Undergraduate Study : UMass Amherst - - - - + + + - - - - + + + + + + + + + + + + + + + + + + - - - + Undergraduate Study : UMass Amherst + + + + - + + + + + -
+ + + + + + + + + +
-

The University of Massachusetts Amherst

- -
-
-
- - -
-
- - -
-
- -
- -
- - - - - - -
- + - - - - - - - + - - - - - - - +
-
-
+ -
- - - - -
- - -

Follow your curiosity wherever it leads, whether that’s storytelling, social change, or scientific discovery. With more than 100 degree programs to choose from, you can dive into your interests, explore across disciplines, and combine fields to create a path that’s distinctly your own.

- - -
- - - - - -
- -
- -
Humanities & Fine Arts

Go beyond buildings to design the spaces where people live, work, and connect. You’ll take a holistic approach that considers environmental and social impact while building the skills to continue into graduate study and a career shaping more sustainable communities.

- -
- -
Engineering

Turn lab discoveries into real-world solutions, from new vaccines to alternative fuels and advanced materials. You’ll build a strong foundation in chemistry, physics, and math while exploring areas like biotechnology, energy, and materials science—preparing you for careers in industry or graduate study.

- -
- -
Humanities & Fine Arts
Information & Computer Sciences
- -
- -
- -
- - -
- - - - - - - - - - - -
-
- - - -
- - - - - - - - - - - - - - - - - -
-
- - -
- -
- - - - - - - - - - - - -
-

Choose your start. Whether you begin on campus in Amherst, a new city across the globe, or by exploring potential career paths in Greater Boston, first-year experiences broaden your perspective and prepare you for what’s next. In each of these first-year launch programs, you’ll join a close-knit cohort, learning alongside peers and guided by dedicated faculty and support teams.

-
- - - - - - - -
- - -
- - - - -
- - - - - - - Group of UMass Amherst students with their arms in the air in front of the Old Chapel - - - -
- - - -
- - -
- - -
- - - - - - - - - - - - - - - - - -
-
- - -
- -
- - - - - - - - - - - - -
-

In the Commonwealth Honors College at UMass Amherst, you’ll find a tight-knit community centered on small classes and personalized experiences, with the resources of a major research university. Form close bonds with faculty, gain access to special programs and research grants, and explore courses outside your major to create an educational experience all your own.

-
- - - - - - - -
- - -
- - - - -
- - - - - - - Commonwealth Honors College students - - - -
- - - - - - - - - - - - - -
- -
- - - -
- - -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - -
-

Beyond the Classroom

-
- - - - -
-

At UMass Amherst, sometimes the most important learning starts once you’re out of the classroom and into the real world.

-
- - -
- - - - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst student abroad in Chile - - - -
- - - -
- -

- Study Abroad -

- - - -
-

Earn academic credit, stand out to global employers, and enrich your perspective on the world. Study pre-med in Brisbane, complete an internship in London, conduct field research in Costa Rica and much more.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst students at Mass General Hospital - - - -
- - - -
- -

- Co-ops & Internships -

- - - -
-

Whether you’re on our main campus in western Massachusetts or on our Charles River Campus closer to Boston, UMass Amherst has the connections you need to learn on the job from top organizations in a range of industries.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst Student Farm - - - -
- - - -
- -

- Civic Engagement & Service-Learning -

- - - -
-

Through UMass Civic Engagement and Service-Learning, you can participate in programs of research and public service that advance knowledge and improve the world.

-
- - - - - - - - - - - -
- - -
- - -
- -
- - - - - - - - - - - - - - - -
-
- - -
- -
- - - - - -
-

Creating An Inclusive Classroom

-
- - - - - - -
-

Physics lecturer Brokk Toggerson strives to bring equity and inclusion into every aspect of his classroom. From ensuring all students start at the same level of understanding, to teaching in different modalities like video and 3D modeling of advanced concepts, Dr. Toggerson brings physics to life in ways that are relevant and tangible to each of his students.

 

-
- - - - -
- - -
- - - - -
- - - - - - - Brokk Toggerson, Physics, UMass Amherst - - - -
- - - - - - - - - - - - - -
- -
- - - -
- - -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - -
-

Empowering Your Best

-
- - - -
-

At UMass Amherst, our advisors are here for you, to empower you and give you the tools you need to reshape your world. All undergraduate students, including students in an Exploratory Track, are assigned to an academic advisor and academic dean within the school, college or program that coincides with their academic major status. Students can get assistance from academic deans and advising faculty and staff with choosing a major, making a transition between majors, developing an academic plan, and advancing towards graduation in a timely manner.

 

-
- +
+
- +
+
+ + University of Massachusetts Amherst + University of Massachusetts Amherst + +
+ + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + - +
- +
+
+
+
+ + University of Massachusetts Amherst + University of Massachusetts Amherst + +
+ + +
+
+
+ + +
+ + +
+ + - +
+ + + +
+
+
+ + + + +
+ +
+ +
+ + + +
+ + +
+ + + +
+ + +
+ +
+ +
+
+
+
+ + + + + + +
+ +
+
+ +
+ + + + + + + +
+
+ + +
+ + + + +
+ + + + + + + + + A student writes on a chalkboard. + + + + + +
+ + +
+ +
+
+ + + + +
+ + +

+ Undergraduate +

+ + +
+ + +
+ +
+ + +
+
+ + +
+ +
+
+ +
+ +
+ +
+
+ + + +
+ + + + + + + +
+
+ +
+

Be Bright. Be Bold. Be You.

+

Join our community of creatives, innovators, and entrepreneurs and fearlessly challenge + the conventions of today in pursuit of a better tomorrow. At UMass Amherst, you + have the freedom to dream bigger. Expand your opportunities both on campus and off + through the Five College Consortium, online classes, and blended format programs.

+ +
+ +
+
+ + + + + + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + + +
+ + +

Explore Every Possibility

+ + +
+ + + + +
+ + +

Follow your curiosity wherever it leads, whether that’s storytelling, social + change, or scientific discovery. With more than 100 degree programs to choose from, + you can dive into your interests, explore across disciplines, and combine fields to + create a path that’s distinctly your own.

+ + +
+ + + + + +
+ +
+ +
+
+
+
+
Humanities & Fine Arts
+
+

Architecture +

+
+
+

Go beyond buildings to design the spaces where people live, work, and connect. + You’ll take a holistic approach that considers environmental and social impact + while building the skills to continue into graduate study and a career shaping + more sustainable communities.

+
+
+
+
+ +
+ +
+
+
+
+
Engineering
+ +
+

Turn lab discoveries into real-world solutions, from new vaccines to + alternative fuels and advanced materials. You’ll build a strong foundation in + chemistry, physics, and math while exploring areas like biotechnology, energy, + and materials science—preparing you for careers in industry or graduate study. +

+
+
+
+
+ +
+ +
+
+
+
+
Engineering
+ +
+
+
+
+
+
+
Humanities & Fine Arts
+
+

History +

+
+
+
+
+
+
+
+
Information & Computer Sciences
+ +
+
+
+ +
+ +
+ +
+ + +
+
+ + + + + + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + + + + + + + + + + + +
+

Choose your start. Whether you begin on campus in Amherst, a new city across the + globe, or by exploring potential career paths in Greater Boston, first-year + experiences broaden your perspective and prepare you for what’s next. In each of + these first-year launch programs, you’ll join a close-knit cohort, learning + alongside peers and guided by dedicated faculty and support teams.

+
+ + + + + + + +
+ + +
+ + + + +
+ + + + + + + Group of UMass Amherst students with their arms in the air in front of the Old Chapel + + + +
+ + + +
+ + +
+ + +
+
+ + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + + + + + + + + + + + +
+

In the Commonwealth Honors College at UMass Amherst, you’ll find a tight-knit + community centered on small classes and personalized experiences, with the resources + of a major research university. Form close bonds with faculty, gain access to + special programs and research grants, and explore courses outside your major to + create an educational experience all your own.

+
+ + + + + + + +
+ + +
+ + + + +
+ + + + + + + Commonwealth Honors College students + + + +
+ + + + + + + + + + + + + +
+ +
+ + + +
+ + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + +
+

Beyond the Classroom

+
+ + + + +
+

At UMass Amherst, sometimes the most important learning starts once you’re out of the + classroom and into the real world.

+
+ + +
+ + + + +
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst student abroad in Chile + + + +
+ + + +
+ +

+ Study Abroad +

+ + + +
+

Earn academic credit, stand out to global employers, and enrich your + perspective on the world. Study pre-med in Brisbane, complete an internship in + London, conduct field research in Costa Rica and much more.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst students at Mass General Hospital + + + +
+ + + +
+ +

+ Co-ops & Internships +

+ + + +
+

Whether you’re on our main campus in western Massachusetts or on our Charles + River Campus closer to Boston, UMass Amherst has the connections you need to + learn on the job from top organizations in a range of industries.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst Student Farm + + + +
+ + + +
+ +

+ Civic Engagement & Service-Learning +

+ + + +
+

Through UMass Civic Engagement and Service-Learning, you can participate in + programs of research and public service that advance knowledge and improve the + world. +

+
+ + + + + + + + + + + +
+ + +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + +
+
+ + +
+ +
+ + + + + +
+

Creating An Inclusive Classroom

+
+ + + + + + +
+

Physics lecturer Brokk Toggerson strives to bring equity and inclusion into every + aspect of his classroom. From ensuring all students start at the same level of + understanding, to teaching in different modalities like video and 3D modeling of + advanced concepts, Dr. Toggerson brings physics to life in ways that are relevant + and tangible to each of his students.

+

 

+
+ + + + +
+ + +
+ + + + +
+ + + + + + + Brokk Toggerson, Physics, UMass Amherst + + + +
+ + + + + + + + + + + + + +
+ +
+ + + +
+ + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+

Empowering Your Best

+
+ + + +
+
+

At UMass Amherst, our advisors are here for you, to empower you and give you the + tools you need to reshape your world. All undergraduate students, including students + in an Exploratory Track, are assigned + to an academic advisor and academic dean within the school, college or program that + coincides with their academic major status. Students can get assistance from + academic deans and advising faculty and staff with choosing a major, making a + transition between majors, developing an academic plan, and advancing towards + graduation in a timely manner.

+
+
+

 

+
+
+ +
+ + +
+
+ + + + + + + +
+ +
+
+ +
+ +
+ +
+
+ +
+ + + + + + + + + + + +
+
+ +
+

Keep Exploring

+
+ + + +
+
+ + + + + + + +
+ +
+
+ +
+ + +
+
+ +
+
- - - - - - - - - - - - - -
+ - - - - - - - + + + + -
\ No newline at end of file + +
+
+ + + \ No newline at end of file diff --git a/UMASS_sample/Undergraduate Study _ UMass Amherst_files/Vy9Ogg227IY.html b/UMASS_sample/Undergraduate Study _ UMass Amherst_files/Vy9Ogg227IY.html index d18bd066..d2f73be1 100644 --- a/UMASS_sample/Undergraduate Study _ UMass Amherst_files/Vy9Ogg227IY.html +++ b/UMASS_sample/Undergraduate Study _ UMass Amherst_files/Vy9Ogg227IY.html @@ -1,16 +1,678 @@ -Brokk Toggerson, Physics, UMass Amherst - YouTube
+ + \ No newline at end of file diff --git a/UMASS_sample/Undergraduate Study _ UMass Amherst_files/wwBcatfAlgg.html b/UMASS_sample/Undergraduate Study _ UMass Amherst_files/wwBcatfAlgg.html index b861f8fb..9ab41c55 100644 --- a/UMASS_sample/Undergraduate Study _ UMass Amherst_files/wwBcatfAlgg.html +++ b/UMASS_sample/Undergraduate Study _ UMass Amherst_files/wwBcatfAlgg.html @@ -1,16 +1,677 @@ -Jeanai Celestin - YouTube
UMass Amherst10.1k subscribers
+ + \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index c0dececa..00000000 --- a/docker-compose.yml +++ /dev/null @@ -1,30 +0,0 @@ -version: '3.8' - -services: - postgres: - image: postgres:15 - environment: - - POSTGRES_USER=drupal - - POSTGRES_PASSWORD=drupal - - POSTGRES_DB=drupal - volumes: - - db_data:/var/lib/postgresql/data - restart: always - - drupal: - image: drupal:10-apache - ports: - - "8080:80" - volumes: - - ./sis_theme:/opt/drupal/web/themes/custom/sis_theme - environment: - - POSTGRES_USER=drupal - - POSTGRES_PASSWORD=drupal - - POSTGRES_DB=drupal - - POSTGRES_HOST=postgres - depends_on: - - postgres - restart: always - -volumes: - db_data: diff --git a/editor.html b/editor.html deleted file mode 100644 index 0eb2b4db..00000000 --- a/editor.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - GrapesJS Editor cho S.I.S Cần Thơ - - - - - - - - - - - - - - - - - -
-

Chào mừng đến với Trình thiết kế S.I.S Cần Thơ

-

Hãy bấm nút Import (biểu tượng mũi tên đi xuống) trên thanh công cụ, sau đó dán nội dung của file grapesjs_import.html vào đây để bắt đầu chỉnh sửa!

-
- - - - diff --git a/extract.js b/extract.js deleted file mode 100644 index 71d26553..00000000 --- a/extract.js +++ /dev/null @@ -1,34 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -const filePath = path.join(__dirname, 'bài viết', 'Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ.html'); -const content = fs.readFileSync(filePath, 'utf8'); - -// Extract images -const imgRegex = /]+src="([^">]+)"/g; -let match; -const images = new Set(); -while ((match = imgRegex.exec(content)) !== null) { - images.add(match[1]); -} - -// Extract headings and paragraphs -const textRegex = /<(h1|h2|h3|p)[^>]*>(.*?)<\/\1>/gs; -const texts = []; -while ((match = textRegex.exec(content)) !== null) { - const tag = match[1]; - const innerHtml = match[2].trim(); - // Strip inner tags - const plainText = innerHtml.replace(/<[^>]+>/g, '').trim(); - if (plainText.length > 10) { - texts.push(`[${tag.toUpperCase()}] ${plainText}`); - } -} - -const result = { - images: Array.from(images).filter(src => src.indexOf('data:image') === -1 && src.indexOf('.svg') === -1), - texts: texts -}; - -fs.writeFileSync('extracted_content.json', JSON.stringify(result, null, 2)); -console.log('Done extraction. Found', result.images.length, 'images and', result.texts.length, 'text blocks.'); diff --git a/extracted_content.json b/extracted_content.json deleted file mode 100644 index 35f8de5d..00000000 --- a/extracted_content.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "images": [ - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/sis-logo.png", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/slogan.png", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/W2-01-scaled.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-WEB-02-scaled.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-WEB-01-scaled.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-WEB-03-scaled.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-WEB-scaled.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-WEB-04-scaled.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-WEB-01-scaled(1).jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-LINNC-BAC-CUONG-05-scaled.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/W2-01-scaled(1).jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-UP-WEB-02-scaled.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-WEB-01-scaled(2).jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-WEB-03-scaled(1).jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-WEB-scaled(1).jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-WEB-04-scaled(1).jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-WEB-01-scaled(3).jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BANNER-LINNC-BAC-CUONG-05-scaled(1).jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/ico-sis.png", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/android-call.png", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/ico-service.png", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/ico-4.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/ico-3.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/ico-2.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/ico-1.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/Hien-mau-nhan-dao-S.I.S-Can-Tho.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/22.5-8-nam-chiu-dung-con-dau-nhu-rach-da-nguoi-dan-ong-hoi-sinh-sau-ca-mo-giai-ep-vi-mach-scaled.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/Lan-dau-tien-can-thiep-dat-stent-tu-tieu-cho-benh-nhan-nhoi-mau-co-tim-tai-DBSCL-bia-scaled.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/banner-1.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/banner-2.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/banner-3.jpg", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/call_center_v10.png", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/ico-location.png", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/ico-calendar.png", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/ico-phone.png", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/ico-mail.png", - "./Trang chủ - Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ_files/BoCongThuong.png" - ], - "texts": [ - "[P] “ \n\t\t\t\tHãy quan tâm đến đột quỵ bởi vì đột quỵ có thể xảy ra tại mọi thời điểm trong cuộc đời và đột quỵ không loại trừ bất cứ ai \n ”", - "[P] W2-01BANNER UP WEB-02BANNER WEB-01BANNER WEB-03BANNER WEB KIM CƯƠNG-02BANNER WEB-04Banner hưởng ứng an toàn người bệnhBANNER LINNC BÁC CƯỜNG-05 \n\n \n \n \n \t\t\n\t\t\n\t\t\n\t\t\t Đặt lịch hẹn\n\t HOTLINE: 18001115\n\n\n\n $(document).ready(function() {\n // Create a new div element with the class quick-search\n var quickSearchDiv = $(' \\\n \\\n \\\n \\\n \\\n Go \\\n \\\n \\\n \\\n ');\n\n // Insert the new div just before the last top-level li element\n $('.menu > li:not(.sub-menu):last').before(quickSearchDiv);\n });\n\n\t\t\n\n div.menu-item .sub-menu {\n list-style-type: none; /* Remove bullet points */\n padding: 0; /* Remove default padding */\n margin: 0; /* Remove default margin */\n\t\tmargin-left: 20px;\n }\n \n\n\t\n\t\t \n \n \n \n Bệnh viện Đa khoa Quốc tế S.I.S Cần Thơ (Can Tho Stroke International Services)", - "[P] Bệnh viện Đa khoa Quốc tế S.I.S Cần Thơ ra đời với sứ mệnh “Cứu tinh cho bệnh nhân đột quỵ” với hai chuyên khoa mũi nhọn là đột quỵ và tim mạch.", - "[P] Với mục tiêu chăm sóc sức khỏe cho người dân TP. Cần Thơ và các tỉnh miền Tây cũng như các nước bạn lân cận, bệnh viện ứng dụng công nghệ tiên tiến trên thế giới trong điều trị, cấp cứu và can thiệp đột quỵ, tim mạch kỹ thuật cao.", - "[P] Bệnh viện cũng là nơi nghiên cứu khoa học, ứng dụng phát triển công nghệ mới trong chẩn đoán, điều trị, phòng ngừa đột quỵ, đào tạo chuyên sâu về can thiệp nội mạch DSA.", - "[H3] Bệnh viện S.I.S Cần Thơ: Nơi hiểu rõ giá trị của từng đơn vị máu", - "[P] Tiếp nhận nhiều ca bệnh nguy kịch mỗi ngày, tập thể nhân viên Bệnh viện Đa khoa Quốc tế S.I.S Cần Thơ lại càng thấu hiểu giá trị của từng đơn vị máu. Vì vậy, chương trình hiến máu “Trao giọt máu đào – Tô màu cuộc sống” được Công đoàn cơ sở bệnh viện phối hợp cùng Bệnh viện Huyết học – Truyền máu Cần Thơ tổ chức hằng năm như một hoạt động sẻ chia thiết thực với cộng đồng.", - "[H3] 8 năm chịu đựng cơn đau như “rạch da” người đàn ông hồi sinh sau ca mổ giải ép vi mạch", - "[P] Suốt gần 8 năm chịu đựng những cơn đau như “điện giật, rạch da”, người đàn ông đã đi qua nhiều bệnh viện, uống đủ loại thuốc nhưng vẫn không thoát khỏi cơn đau hành hạ. Chỉ đến khi được phẫu thuật giải ép vi mạch tại Bệnh viện Đa khoa Quốc tế S.I.S Cần […]", - "[H3] Lần đầu tiên can thiệp đặt stent tự tiêu cho bệnh nhân nhồi máu cơ tim tại ĐBSCL", - "[P] Anh T.V.H (48 tuổi, ngụ tại Cần Thơ) nhập viện vì nhồi máu cơ tim cấp đã được các bác sĩ tại Bệnh viện Đa khoa Quốc tế S.I.S Cần Thơ can thiệp thành công bằng kỹ thuật đặt stent tự tiêu thế hệ mới, lần đầu tiên được triển khai tại khu vực Đồng bằng sông Cửu Long.", - "[H3] [HCM] _ SIS VIỆT NAM TUYỂN DỤNG QUÝ II NĂM 2026", - "[P] *** GIỚI THIỆU VỀ SIS VIỆT NAM: SIS Việt Nam đặt mục tiêu trở thành hệ thống y tế chuyên sâu đa lĩnh vực, ứng dụng công nghệ cao và phát triển bền vững. Chúng tôi không ngừng mở rộng năng lực điều trị, đào tạo và chăm sóc sức khỏe toàn diện theo các chuẩn mực […]", - "[H3] [CẦN THƠ] _ BẢN TIN TUYỂN DỤNG QUÝ II NĂM 2026", - "[P] *** HÌNH THỨC ỨNG TUYỂN: Hoàn thành các thông tin trong link sau để ứng tuyển:  https://forms.gle/rLyKgWMKa3jpvXYX7 !!! ĐỪNG QUÊN THEO DÕI THƯỜNG XUYÊN FANPAGE TUYỂN DỤNG CỦA BỆNH VIỆN ĐỂ CẬP NHẬT NHANH NHẤT CÁC VỊ TRÍ TUYỂN DỤNG: Fanpage Tuyển dụng – Đào tạo Bệnh viện Đa khoa quốc tế SIS Cần Thơ: […]", - "[H3] Tư vấn qua tổng đài call center", - "[P] 397 Nguyễn Văn Cừ, P.An Bình, TP. Cần Thơ", - "[P] Thứ 2 - Chủ Nhật: 07h00 - 16h30Cấp Cứu & Nội Viện: 24/7", - "[P] Bảo mật thông tin", - "[P] cskh@dotquy.vn", - "[P] Thanh toán & khiếu nại", - "[P] Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần ThơĐịa chỉ: 397 Nguyễn Văn Cừ nối dài, P.An Bình, TP. Cần Thơ", - "[P] ĐT: 0292.378.9911", - "[P] Thứ 2 - Chủ Nhật: 07h00 - 16h30Cấp Cứu & Nội Viện: 24/7", - "[P] Email CSKHCần Thơ: cskh@dotquy.vn", - "[P] Đà Nẵng: cskh.dn@dotquy.vn", - "[P] Tiktok\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\n .fade-carousel .carousel-inner .item .hero {\n opacity: 0;\n -webkit-transition: 2s all ease-in-out .1s;\n -moz-transition: 2s all ease-in-out .1s; \n -ms-transition: 2s all ease-in-out .1s; \n -o-transition: 2s all ease-in-out .1s; \n transition: 2s all ease-in-out .1s; \n}\n.fade-carousel .carousel-inner .item.active .hero {\n opacity: 1;\n -webkit-transition: 2s all ease-in-out .1s;\n -moz-transition: 2s all ease-in-out .1s; \n -ms-transition: 2s all ease-in-out .1s; \n -o-transition: 2s all ease-in-out .1s; \n transition: 2s all ease-in-out .1s; \n}\n.carousel-indicators li {\n border-color: #939191;\n width: 10px;\n height: 10px;\n margin: 0px;\n}\n\n.carousel-indicators .active {\n background-color: #e74c3c;\n border-color: #939191;\n width: 10px;\n height: 10px;\n}\n.footer-icon {\n background: #e74c3c;\n border-radius: 100%;\n display: block;\n height: 40px;\n line-height: 40px;\n margin: 0 auto 20px;\n width: 40px;\n}\n\n.footer-text {\n font-family: arial!important;\n color: #333;\n}\n.carousel-control.right, .carousel-control.left {\n background-image: none;\n}\nhgroup {\n margin-top: 20px;\n}\n\n.hero {\n margin-bottom: 50px;\n}\n\nfooter-min .glyphicon-chevron-left, .glyphicon-chevron-right {\n margin-left: 0px;\n font-size: 18px;\n}\n\n.footer-row {\n width: fit-content;\n margin: 0 auto;\n}\n\n@media only screen and (max-width: 600px) {\n .footer-large {\n display: none;\n }\n .footer-min {\n display: block;\n }\n .footer-copyright {\n display: none !important;\n }\n .footer-copyright-min {\n display: block !important;\n text-align: left!important;\n }\n \n .general-infomation {\n background-color: #e74c3c;\n color: white;\n padding: 10px;\n }\n }\n \n @media only screen and (min-width: 600px) {\n .footer-large {\n display: block;\n }\n .footer-min {\n display: none;\n }\n .footer-copyright-min {\n display: none !important;\n padding: 10px;\n }\n }\n \n .footer-column-right {\n text-align: center;\n text-align: left;\n }\n \n @media only screen and (max-width: 220px) {\n .footer-column-left, .footer-column-right{\n width: 100%;\n }\n .footer-column-left {\n width:100%;\n }\n }\n /*thu nho icon*/ \n @media only screen and (max-width: 320px) {\n .footer-icon {\n background: #e74c3c;\n border-radius: 100%;\n display: block;\n height: 40px;\n line-height: 40px;\n margin: 0 auto 20px;\n width: 40px;\n }\n \n .footer-row {\n width: fit-content;\n margin: 0 auto;\n padding: 5px;\n }\n \n .footer-column-right {\n margin-left: 5px;\n }\n }\n /*phong lon icon*/\n @media only screen and (min-width: 320px) {\n .footer-icon {\n background: #e74c3c;\n border-radius: 100%;\n display: block;\n height: 50px;\n line-height: 50px;\n margin: 0 auto 20px;\n width: 50px;\n }\n \n .footer-row {\n width: fit-content;\n margin: 0 auto;\n padding: 5px;\n }\n }\n \n .footer-container p {\n margin: 0px;\n }\n\t@media only screen and (max-width: 1023px) {\n\t\t .general-infomation {\n\t\t\tpadding-bottom: 80px;\n }\n\t}\n\n\n\t\t\n\n\t\n\n\t\t\t\t\n\n\t\t\t\t \n\t\t\t\tHướng dẫn đặt lịch\t\t\t\n\t\t\n\n\t\t\n\n\t\t\t\t\n\t\t\t1. Nếu bạn đặt khám lần đầu, vui lòng điền đầy đủ và cung cấp thông tin chính xác của Bệnh Nhân. Dữ liệu này chúng tôi dùng để lưu trữ bệnh án điện tử.", - "[P] Lưu ý: Nếu thông tin không chính xác sẽ rất khó để giải quyết các thủ tục hành chính sau này hoặc có thể tốn phí điều chỉnh.", - "[P] 2. Nếu bạn là người đã từng khám và đã có đầy đủ thông tin. Bạn có thể dùng mã Bệnh Nhân, tài khoản và mật khẩu chính là mã BN của bạn.", - "[P] Các vấn đề khác hoặc cần điều chỉnh lịch và xác nhận lại thông tin đã đăng ký vui lòng liên hệ tổng đài hỗ trợ 1800 1115 (hoạt động từ 6h00 đến 21h00 tất cả các ngày trong tuần)" - ] -} \ No newline at end of file diff --git a/fix_img.js b/fix_img.js new file mode 100644 index 00000000..59f9a1d9 --- /dev/null +++ b/fix_img.js @@ -0,0 +1,38 @@ +const fs = require('fs'); +const cheerio = require('cheerio'); + +const file = 'sisvietnamvn/src/main/resources/templates/flex-finish.html'; +const html = fs.readFileSync(file, 'utf8'); +const $ = cheerio.load(html, { decodeEntities: false }, false); + +$('img').each((i, el) => { + $(el).removeAttr('srcset'); + $(el).removeAttr('data-srcset'); + $(el).removeAttr('data-src'); + + let src = $(el).attr('src'); + if (src) { + // Extract the filename from the src + let filename = src.split('/').pop().split('?')[0]; + + // Handle the base64 gif fallback + if (src.includes('data:image/gif')) { + // we have to find the filename from srcset or data-srcset + let altSrcset = $(el).attr('srcset') || $(el).attr('data-srcset'); + if (altSrcset) { + let firstUrl = altSrcset.split(' ')[0]; + filename = firstUrl.split('/').pop().split('?')[0]; + } else { + // Hardcode for UMass Flex Header 1.png because it's lazyloaded + filename = 'UMass Flex Header 1.png'; + } + } + + filename = decodeURIComponent(filename); + $(el).attr('th:src', `@{/images/umass/${filename}}`); + $(el).removeAttr('src'); + } +}); + +fs.writeFileSync(file, $.html()); +console.log('Done fixing images!'); diff --git a/fix_paths.js b/fix_paths.js deleted file mode 100644 index d2c01d72..00000000 --- a/fix_paths.js +++ /dev/null @@ -1,17 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -const layoutDir = path.join(__dirname, 'sis_theme', 'templates', 'layout'); -const files = fs.readdirSync(layoutDir).filter(f => f.startsWith('page--') && f.endsWith('.html.twig')); - -files.forEach(file => { - const filePath = path.join(layoutDir, file); - let content = fs.readFileSync(filePath, 'utf8'); - - // Replace paths like src="./UMass Amherst _ UMass Amherst_files/image.jpg" - // or url('./UMass Amherst _ UMass Amherst_files/image.jpg') - content = content.replace(/\.\/[^/]+_files\//g, "{{ directory }}/images/umass/"); - - fs.writeFileSync(filePath, content); - console.log(`Updated paths in ${file}`); -}); diff --git a/process_templates.js b/process_templates.js deleted file mode 100644 index 565aff75..00000000 --- a/process_templates.js +++ /dev/null @@ -1,88 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const cheerio = require('cheerio'); - -const themeDir = path.join(__dirname, 'sis_theme'); -const templatesDir = path.join(themeDir, 'templates'); -const layoutDir = path.join(templatesDir, 'layout'); -const includesDir = path.join(templatesDir, 'includes'); - -// 1. Create includes directory -if (!fs.existsSync(includesDir)) { - fs.mkdirSync(includesDir, { recursive: true }); -} - -// 2. Extract Header and Footer from page.html.twig -const pageTwigPath = path.join(layoutDir, 'page.html.twig'); -let pageTwigContent = fs.readFileSync(pageTwigPath, 'utf8'); - -// Regex to extract header and footer -const headerRegex = /(\s*
[\s\S]*?<\/header>)/; -const footerRegex = /(\s*
[\s\S]*?<\/footer>)/; - -const headerMatch = pageTwigContent.match(headerRegex); -const footerMatch = pageTwigContent.match(footerRegex); - -if (headerMatch && footerMatch) { - fs.writeFileSync(path.join(includesDir, 'header.html.twig'), headerMatch[1]); - fs.writeFileSync(path.join(includesDir, 'footer.html.twig'), footerMatch[1]); - - // Replace in page.html.twig - pageTwigContent = pageTwigContent.replace(headerMatch[1], "{% include directory ~ '/templates/includes/header.html.twig' %}"); - pageTwigContent = pageTwigContent.replace(footerMatch[1], "{% include directory ~ '/templates/includes/footer.html.twig' %}"); - - fs.writeFileSync(pageTwigPath, pageTwigContent); - console.log('✅ Extracted header and footer successfully.'); -} else { - console.log('⚠️ Could not find header or footer in page.html.twig'); -} - -// 3. Process UMASS_sample files -const sampleDir = path.join(__dirname, 'UMASS_sample'); -const files = fs.readdirSync(sampleDir).filter(file => file.endsWith('.html')); - -files.forEach(file => { - const filePath = path.join(sampleDir, file); - const htmlContent = fs.readFileSync(filePath, 'utf8'); - - const $ = cheerio.load(htmlContent); - let mainContent = $('main').html(); - - if (!mainContent) { - mainContent = '
No main content found.
'; - } - - // Generate a slug from filename - let slug = file.toLowerCase() - .replace(' _ umass amherst.html', '') - .replace(' _ umass flex', '') - .replace('umass ', '') - .replace(' amherst', '') - .replace(/[^a-z0-9]+/g, '-') - .replace(/^-|-$/g, ''); - - if (slug === '' || slug === 'front' || slug === 'amherst') slug = 'front'; // To avoid conflict with default front - - const newTwigContent = `{# -/** - * Page template for ${file} - */ -#} -
- {% include directory ~ '/templates/includes/header.html.twig' %} - -
- ${mainContent} -
- - {% include directory ~ '/templates/includes/footer.html.twig' %} -
-`; - - // We write to page--[slug].html.twig - const newFilePath = path.join(layoutDir, `page--${slug}.html.twig`); - fs.writeFileSync(newFilePath, newTwigContent); - console.log(`✅ Generated template: page--${slug}.html.twig`); -}); - -console.log('All templates generated successfully!'); diff --git a/revert_to_umass.js b/revert_to_umass.js deleted file mode 100644 index 010bb03d..00000000 --- a/revert_to_umass.js +++ /dev/null @@ -1,73 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const cheerio = require('cheerio'); - -const themeDir = path.join(__dirname, 'sis_theme'); -const templatesDir = path.join(themeDir, 'templates'); -const includesDir = path.join(templatesDir, 'includes'); -const layoutDir = path.join(templatesDir, 'layout'); - -const htmlPath = path.join(__dirname, 'UMASS_sample', 'UMass Amherst _ UMass Amherst.html'); -const htmlContent = fs.readFileSync(htmlPath, 'utf8'); - -const $ = cheerio.load(htmlContent); - -// 1. Extract Head -let headHtml = $('head').html(); -headHtml = headHtml.replace(/\.\/[^"]+_files\//g, "{{ directory }}/images/umass/"); - -// Wrap in html.html.twig structure -const htmlTwig = ` - - - - {{ head_title|default('UMass Amherst') }} - - - ${headHtml} - - - {{ page_top }} - {{ page }} - {{ page_bottom }} - - -`; - -fs.writeFileSync(path.join(layoutDir, 'html.html.twig'), htmlTwig); - -// 2. Extract Header -let headerHtml = ''; -if ($('header').length > 0) { - headerHtml = $.html($('header').first()); -} else if ($('#l--main-header').length > 0) { - headerHtml = $.html($('#l--main-header').first()); -} -if (headerHtml) { - headerHtml = headerHtml.replace(/\.\/[^"]+_files\//g, "{{ directory }}/images/umass/"); - fs.writeFileSync(path.join(includesDir, 'header.html.twig'), headerHtml); -} - -// 3. Extract Footer -let footerHtml = ''; -if ($('footer').length > 0) { - footerHtml = $.html($('footer').first()); -} else if ($('.footer').length > 0) { - footerHtml = $.html($('.footer').first()); -} else if ($('#l--main-footer').length > 0) { - footerHtml = $.html($('#l--main-footer').first()); -} else if ($('#footer').length > 0) { - footerHtml = $.html($('#footer').first()); -} else { - // maybe there is a div with id main-footer - const possibleFooter = $('[data-component-id="umass_base:site-footer"]'); - if (possibleFooter.length > 0) { - footerHtml = $.html(possibleFooter); - } -} -if (footerHtml) { - footerHtml = footerHtml.replace(/\.\/[^"]+_files\//g, "{{ directory }}/images/umass/"); - fs.writeFileSync(path.join(includesDir, 'footer.html.twig'), footerHtml); -} - -console.log('✅ Reverted Head, Header and Footer to UMass original successfully.'); diff --git a/sis-web.zip b/sis-web.zip deleted file mode 100644 index 6b1228c4..00000000 Binary files a/sis-web.zip and /dev/null differ diff --git a/sis_theme/README.md b/sis_theme/README.md deleted file mode 100644 index f365d442..00000000 --- a/sis_theme/README.md +++ /dev/null @@ -1,56 +0,0 @@ -# S.I.S Cần Thơ Custom Drupal Theme - -Theme cao cấp được xây dựng chuẩn hóa cho **Drupal 10** và **Drupal 11**, mang giao diện và phong cách chuyên nghiệp của Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ. - ---- - -## 🛠 Hướng dẫn Cài đặt & Sử dụng - -### Bước 1: Sao chép thư mục theme vào dự án Drupal của bạn -Di chuyển hoặc sao chép thư mục `sis_theme` này vào thư mục chứa các theme tùy chỉnh trong dự án Drupal của bạn: -```bash -# Đường dẫn chuẩn trong Drupal: -[thư_mục_gốc_drupal]/web/themes/custom/sis_theme -``` - -### Bước 2: Kích hoạt Theme trong Drupal Admin -1. Đăng nhập vào trang quản trị Drupal bằng tài khoản Administrator. -2. Truy cập vào menu **Appearance** (`/admin/appearance`). -3. Tìm kiếm **S.I.S Can Tho Theme** dưới phần *Uninstalled themes*. -4. Chọn **Install and set as default** để thiết lập làm theme mặc định cho trang web. - -### Bước 3: Cấu hình Khối hiển thị (Blocks Layout) -Theme này cung cấp **12 Regions** tương ứng với từng phân vùng trên giao diện gốc của S.I.S Cần Thơ. Bạn hãy vào **Structure** ➔ **Block layout** (`/admin/structure/block`) để phân chia các khối nội dung: - -* **Header**: Đặt block Logo của trang web (Site Branding). -* **Primary menu**: Đặt block Menu điều hướng chính (Main navigation). -* **Hero Banner**: Đặt slide banner hoặc block chào mừng. -* **Quick Links (Step Into)**: Chứa thông tin đặt lịch khám nhanh. -* **About Us Section**: Khối giới thiệu tổng quan về bệnh viện. -* **Statistics Section**: Hiển thị hotline 1800 1115 & các con số thống kê đột quỵ/tim mạch. -* **Featured News Grid**: Lưới bài viết nổi bật. -* **Healthcare Services**: Danh sách thẻ dịch vụ tầm soát, cấp cứu đột quỵ. -* **Contact CTA Buttons**: Các nút thao tác nhanh gọi tổng đài, xem bản đồ y khoa. -* **Quick Search Links**: Lưới liên kết tra cứu nhanh bảng giá, kết quả xét nghiệm. -* **News and Events Section**: Nơi đặt View danh sách tin tức bệnh viện và các sự kiện sắp diễn ra. -* **Footer**: Cột thông tin địa chỉ liên hệ và bản quyền (Copyright). - -> **💡 Mẹo hữu ích:** Mặc định khi chưa cấu hình Block nào, theme sẽ tự động kích hoạt **chế độ fallback thông minh** hiển thị chính xác toàn bộ nội dung mẫu của S.I.S Cần Thơ giúp trang web của bạn trông lung linh ngay khi vừa cài đặt thành công! - -### Bước 4: Xóa Cache của Drupal (Clear Cache) -Sau mỗi lần cập nhật hoặc cấu hình lại tệp Twig, đừng quên xóa bộ nhớ đệm cache của Drupal để cập nhật thay đổi: -* Sử dụng giao diện Admin: Vào **Configuration** ➔ **Development** ➔ **Performance** ➔ Click **Clear all caches**. -* Hoặc chạy lệnh qua Drush: - ```bash - drush cr - ``` - ---- - -## 🎨 Kiến trúc Mã nguồn của Theme - -* `sis_theme.info.yml`: Định nghĩa tên theme, cấu hình core engine, và danh sách các layout regions. -* `sis_theme.libraries.yml`: Khai báo và tối ưu tải các thư viện CSS/JS. -* `sis_theme.theme`: File xử lý backend động (PHP preprocess). -* `css/style.css`: Hệ thống CSS pixel-perfect cực đẹp, tối ưu hóa responsive hoàn toàn cho Mobile & Tablet. -* `templates/`: Thư mục chứa các tệp Twig kế thừa giao diện sạch sẽ, chống sinh mã HTML thừa trong Drupal. diff --git a/sis_theme/css/style.css b/sis_theme/css/style.css deleted file mode 100644 index be508c73..00000000 --- a/sis_theme/css/style.css +++ /dev/null @@ -1,702 +0,0 @@ -/* ============================================ - UMass Amherst - Pixel-Perfect CSS - ============================================ */ - -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -body { - font-family: 'Open Sans', Arial, sans-serif; - color: #333; - line-height: 1.5; - background: #fff; - overflow-x: hidden; -} - -a { - text-decoration: none; - color: inherit; -} - -img { - max-width: 100%; - display: block; -} - -.container { - max-width: 1200px; - margin: 0 auto; - padding: 0 20px; -} - -.flex-container { - display: flex; -} - -/* Colors */ -.text-red { color: #881c1c; } -.text-black { color: #000; } -.text-grey { color: #666; } -.text-light { color: #fff; } -.bg-red { background: #881c1c; } -.bg-black { background: #111; } -.bg-grey { background: #f4f4f4; } -.bg-light-grey { background: #e5e5e5; } - -/* Buttons */ -.btn { - display: inline-block; - padding: 12px 24px; - font-weight: 700; - font-size: 13px; - text-transform: uppercase; - transition: all 0.2s; - cursor: pointer; -} -.btn-red { - background: #881c1c; - color: #fff; -} -.btn-red:hover { - background: #6b1515; -} -.btn-red-outline { - border: 2px solid #881c1c; - color: #881c1c; - background: transparent; -} -.btn-red-outline:hover { - background: #881c1c; - color: #fff; -} -.btn-red-fill { - background: #881c1c; - color: #fff; - border-radius: 4px; -} - -.section-title { - font-size: 36px; - font-weight: 800; - text-transform: uppercase; - margin-bottom: 20px; - line-height: 1.1; -} - -/* ================= HEADER ================= */ -.header { - position: absolute; - top: 0; left: 0; width: 100%; - z-index: 100; - padding: 30px 0; -} -.header-inner { - display: flex; - justify-content: space-between; - align-items: flex-start; -} -.logo { - color: #fff; - line-height: 1.2; -} -.logo-light { - font-size: 16px; - font-weight: 400; -} -.logo-bold { - font-size: 24px; - font-weight: 800; -} -.nav-right { - display: flex; - flex-direction: column; - align-items: flex-end; -} -.top-nav { - display: flex; - align-items: center; - gap: 20px; - margin-bottom: 10px; -} -.top-nav a { - color: #fff; - font-size: 12px; - font-weight: 600; - text-transform: uppercase; -} -.search-btn { - background: #881c1c; - color: #fff; - border: none; - width: 28px; - height: 28px; - display: flex; - align-items: center; - justify-content: center; - cursor: pointer; -} -.main-nav { - display: flex; - gap: 24px; -} -.main-nav a { - color: #fff; - font-size: 13px; - font-weight: 700; - text-transform: uppercase; -} - -.mobile-only { display: none; } -.desktop-only { display: flex; } - -/* ================= HERO ================= */ -.hero { - position: relative; - height: 80vh; - min-height: 600px; - background: #000; -} -.hero-bg { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - object-fit: cover; - z-index: 0; -} -.hero-overlay { - position: absolute; - top: 0; left: 0; width: 100%; height: 100%; - background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, transparent 30%, transparent 60%, rgba(0,0,0,0.8) 100%); - z-index: 1; -} -.hero-content { - position: absolute; - bottom: 60px; - left: 0; right: 0; - color: #fff; - padding-left: 20px; - z-index: 2; -} -.hero-title { - font-size: 56px; - font-weight: 800; - line-height: 1; - margin-bottom: 15px; -} -.hero-desc { - font-size: 16px; - font-weight: 400; - line-height: 1.5; -} - -/* ================= STEP INTO YOUR FUTURE ================= */ -.step-into { - padding: 60px 0; - background: #fff; -} -.step-into-inner { - align-items: center; - justify-content: flex-start; - gap: 80px; -} -.step-into-title { - font-size: 32px; - font-weight: 800; - line-height: 1.1; -} -.step-into-links { - display: flex; - gap: 80px; -} -.link-col { - display: flex; - flex-direction: column; - gap: 15px; -} -.link-col a { - font-weight: 700; - font-size: 14px; - text-transform: uppercase; - display: flex; - justify-content: space-between; - align-items: center; - width: 200px; - border-bottom: 1px solid #eee; - padding-bottom: 10px; -} -.link-col a .arrow { - color: #881c1c; - font-size: 10px; -} - -/* ================= WHAT'S LIFE LIKE ================= */ -.whats-life { - background: #111; - color: #fff; -} -.whats-life-inner { - align-items: stretch; -} -.whats-life-text { - flex: 1; - padding: 80px 60px 80px 0; -} -.tabs { - display: flex; - gap: 20px; - margin-bottom: 30px; - border-bottom: 1px solid #333; - padding-bottom: 10px; -} -.tab { - font-size: 14px; - font-weight: 600; - color: #888; -} -.tab.active { - color: #fff; - border-bottom: 2px solid #fff; - padding-bottom: 11px; - margin-bottom: -12px; -} -.whats-life-text .subtitle { - font-size: 24px; - font-weight: 700; - margin-bottom: 15px; -} -.whats-life-text .desc { - font-size: 15px; - color: #ccc; - margin-bottom: 30px; -} -.whats-life-media { - flex: 1; - position: relative; -} -.whats-life-media img { - width: 100%; - height: 100%; - object-fit: cover; -} -.play-icon { - position: absolute; - top: 50%; left: 50%; - transform: translate(-50%, -50%); - width: 60px; height: 60px; - background: #881c1c; - color: #fff; - border: none; - border-radius: 50%; - font-size: 20px; - display: flex; - align-items: center; - justify-content: center; - cursor: pointer; - padding-left: 5px; /* center play triangle */ -} - -/* ================= STATS ================= */ -.stats { - padding: 60px 0; - background: #fff; - text-align: center; -} -.stats-inner { - justify-content: center; - gap: 100px; -} -.stat-number { - font-size: 48px; - font-weight: 800; - margin-bottom: 10px; -} -.stat-text { - font-size: 13px; - font-weight: 600; - color: #555; -} - -/* ================= EXCELLENCE IN ACTION ================= */ -.excellence { - padding: 80px 0; - background: #fff; -} -.excellence-grid { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 40px; -} -.exc-col-left .desc { - font-size: 15px; - margin-bottom: 30px; -} -.mt-large { margin-top: 60px; } - -.story-card { - position: relative; - overflow: hidden; -} -.story-card img { - width: 100%; - display: block; -} -.story-card.has-bg .story-content { - position: absolute; - bottom: 0; left: 0; width: 100%; - background: linear-gradient(transparent, rgba(0,0,0,0.8)); - padding: 40px 30px 20px; - color: #fff; -} -.tag { - display: block; - font-size: 11px; - font-weight: 800; - text-transform: uppercase; - margin-bottom: 8px; -} -.story-content h3 { - font-size: 22px; - font-weight: 700; - margin-bottom: 10px; - line-height: 1.2; -} -.story-content p { - font-size: 13px; - opacity: 0.9; -} -.story-card.large h3 { - font-size: 28px; -} -.sub-grid { - display: grid; - grid-template-columns: 1fr 1fr; - grid-template-rows: 1fr 1fr; - gap: 0; - height: 300px; -} -.box-black { background: #000; padding: 30px; color: #fff; display: flex; flex-direction: column; justify-content: center; } -.box-red { background: #881c1c; padding: 30px; color: #fff; display: flex; flex-direction: column; justify-content: center; } -.box-grey { background: #444; padding: 30px; color: #fff; display: flex; flex-direction: column; justify-content: center; } -.play-box { background: #f4f4f4; display: flex; align-items: center; justify-content: center; } -.play-icon-large { - width: 80px; height: 80px; - background: #881c1c; - color: #fff; - border-radius: 50%; - border: none; - font-size: 24px; - cursor: pointer; - padding-left: 6px; -} - -/* ================= BLAZE YOUR OWN TRAIL ================= */ -.blaze-trail { - padding: 80px 0; - background: #fff; -} -.max-w-800 { max-width: 800px; margin-bottom: 40px; font-size: 15px; } -.card-grid-3 { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 30px; -} -.card-img img { - width: 100%; - aspect-ratio: 3/2; - object-fit: cover; -} -.card-body { - padding: 20px 0; -} -.card-body h3 { - font-size: 20px; - font-weight: 700; - margin-bottom: 10px; -} -.card-body p { - font-size: 14px; - color: #555; -} - -/* ================= APPLY TODAY ================= */ -.apply-today { - padding: 60px 0; - background: #fff; -} -.text-center { text-align: center; } -.apply-buttons { - display: flex; - justify-content: center; - gap: 20px; -} -.apply-buttons .btn { width: 180px; } - -/* ================= I'M LOOKING FOR ================= */ -.looking-for { - padding: 80px 0; - background: #e5e5e5; -} -.looking-grid { - display: flex; - gap: 60px; -} -.looking-grid .col { - flex: 1; - display: flex; - flex-direction: column; -} -.looking-grid .col a { - display: flex; - justify-content: space-between; - align-items: center; - padding: 15px 0; - border-bottom: 1px solid #ccc; - font-weight: 700; - font-size: 14px; - color: #000; -} -.looking-grid .col a .arrow { font-size: 10px; color: #881c1c; } - -/* ================= NEWS & EVENTS ================= */ -.news-events { - padding: 80px 0; - background: #fff; -} -.news-layout { - display: grid; - grid-template-columns: 60% 35%; - gap: 5%; -} -.news-main img { - width: 100%; - aspect-ratio: 16/9; - object-fit: cover; -} -.mt-small { margin-top: 20px; } -.news-main-title { - font-size: 28px; - font-weight: 800; - margin: 10px 0; - line-height: 1.2; -} -.news-main-desc { - font-size: 15px; - color: #444; -} -.news-sidebar { - display: flex; - flex-direction: column; - gap: 30px; -} -.news-small { - display: flex; - gap: 15px; -} -.news-small img { - width: 140px; - height: 100px; - object-fit: cover; -} -.news-info h4 { - font-size: 15px; - font-weight: 700; - margin: 5px 0; - line-height: 1.3; -} -.news-info p { - font-size: 12px; - color: #666; -} - -.events-grid { - display: grid; - grid-template-columns: repeat(4, 1fr); - gap: 20px; - margin-top: 60px; -} -.event-card img { - width: 100%; - aspect-ratio: 3/2; - object-fit: cover; -} -.event-info { - padding: 15px 0; -} -.event-info .date { font-weight: 800; font-size: 12px; } -.event-info h4 { font-size: 16px; font-weight: 700; margin: 5px 0; } -.event-info .type { font-size: 13px; } - -/* ================= FOOTER ================= */ -.footer { - background: #111; - color: #fff; - padding: 60px 0 30px; -} -.footer-top { - display: flex; - justify-content: space-between; - margin-bottom: 40px; -} -.footer-brand { - flex: 1; -} -.footer-logo { - display: flex; - align-items: center; - gap: 15px; - margin-bottom: 20px; -} -.m-box { - width: 50px; height: 50px; - background: #881c1c; - color: #fff; - font-size: 24px; - font-weight: 800; - display: flex; - align-items: center; - justify-content: center; -} -.footer-logo .logo-text { - font-size: 14px; - line-height: 1.2; -} -.social-icons { - display: flex; - gap: 15px; -} -.social-icons a { - color: #fff; - width: 20px; height: 20px; -} - -.footer-links-grid { - flex: 2; - display: flex; - justify-content: flex-end; - gap: 80px; -} -.footer-col h4 { - font-size: 12px; - font-weight: 700; - color: #888; - margin-bottom: 15px; -} -.footer-col a { - display: block; - font-size: 13px; - color: #ccc; - margin-bottom: 10px; -} -.footer-bottom { - display: flex; - justify-content: space-between; - border-top: 1px solid #333; - padding-top: 20px; - font-size: 12px; - color: #888; -} -.bottom-links { - display: flex; - gap: 20px; -} -.bottom-links a { color: #888; } - -/* ================= RESPONSIVE TABLET (768px) ================= */ -@media (max-width: 1024px) { - .desktop-only { display: none; } - .mobile-only { display: flex; } - - .header { - background: #111; - padding: 15px 0; - } - .mobile-actions { - display: flex; - align-items: center; - } - .search-btn-mobile { - background: #881c1c; - color: #fff; - border: none; - width: 40px; height: 40px; - display: flex; - align-items: center; - justify-content: center; - } - .hamburger-btn { - background: transparent; - color: #fff; - border: none; - width: 40px; height: 40px; - display: flex; - align-items: center; - justify-content: center; - } - - .hero { - height: 100vh; - min-height: 500px; - padding: 0; - } - .hero-title { font-size: 40px; } - - .step-into-inner { - flex-direction: column; - align-items: flex-start; - gap: 30px; - } - .step-into-links { width: 100%; justify-content: space-between; gap: 20px; } - .link-col { width: 48%; } - .link-col a { width: 100%; } - - .whats-life-inner { flex-direction: column; } - .whats-life-text { padding: 40px 0; } - .whats-life-media { height: 400px; width: 100%; } - - .stats-inner { gap: 30px; } - - .excellence-grid { grid-template-columns: 1fr; } - .sub-grid { height: auto; grid-template-columns: 1fr 1fr; } - - .card-grid-3 { grid-template-columns: 1fr; } - .card-img img { aspect-ratio: 16/9; } - - .apply-buttons { flex-wrap: wrap; } - - .news-layout { grid-template-columns: 1fr; gap: 40px; } - .events-grid { grid-template-columns: 1fr 1fr; } - - .footer-top { flex-direction: column; gap: 40px; } - .footer-links-grid { justify-content: space-between; gap: 20px; } -} - -/* ================= RESPONSIVE MOBILE (390px) ================= */ -@media (max-width: 767px) { - .hero-title { font-size: 32px; } - .hero-desc { font-size: 14px; } - - .step-into-links { flex-direction: column; } - .link-col { width: 100%; } - - .stats-inner { flex-direction: column; gap: 40px; } - - .sub-grid { grid-template-columns: 1fr; } - - .apply-buttons { flex-direction: column; align-items: center; } - .apply-buttons .btn { width: 100%; max-width: 300px; } - - .looking-grid { flex-direction: column; gap: 0; } - - .events-grid { grid-template-columns: 1fr; } - .news-small { flex-direction: column; } - .news-small img { width: 100%; height: auto; aspect-ratio: 16/9; } - - .footer-links-grid { flex-direction: column; } - .footer-bottom { flex-direction: column; gap: 20px; align-items: flex-start; } - .bottom-links { flex-direction: column; gap: 10px; } -} diff --git a/sis_theme/images/LogoSIS.png b/sis_theme/images/LogoSIS.png deleted file mode 100644 index 9030b428..00000000 Binary files a/sis_theme/images/LogoSIS.png and /dev/null differ diff --git a/sis_theme/images/umass/2020_BDIC_Lounge_IMG_6535_John_Solem_.jpeg b/sis_theme/images/umass/2020_BDIC_Lounge_IMG_6535_John_Solem_.jpeg deleted file mode 100644 index 93fe54d5..00000000 Binary files a/sis_theme/images/umass/2020_BDIC_Lounge_IMG_6535_John_Solem_.jpeg and /dev/null differ diff --git a/sis_theme/images/umass/2020_Spring_Campus_IMG_7226_John_Solem_.jpg b/sis_theme/images/umass/2020_Spring_Campus_IMG_7226_John_Solem_.jpg deleted file mode 100644 index a7ff08a8..00000000 Binary files a/sis_theme/images/umass/2020_Spring_Campus_IMG_7226_John_Solem_.jpg and /dev/null differ diff --git a/sis_theme/images/umass/7D_TnBztQhU.html b/sis_theme/images/umass/7D_TnBztQhU.html deleted file mode 100644 index 9ff42c6e..00000000 --- a/sis_theme/images/umass/7D_TnBztQhU.html +++ /dev/null @@ -1,33 +0,0 @@ - - -UMass Dorm Tour: What Living on Campus Actually Looks Like #umass #dormlife #college - YouTube
\ No newline at end of file diff --git a/sis_theme/images/umass/D-gyJU25cVI.html b/sis_theme/images/umass/D-gyJU25cVI.html deleted file mode 100644 index 8a678710..00000000 --- a/sis_theme/images/umass/D-gyJU25cVI.html +++ /dev/null @@ -1,33 +0,0 @@ - - -YouTube
\ No newline at end of file diff --git a/sis_theme/images/umass/DSCF7111.jpeg b/sis_theme/images/umass/DSCF7111.jpeg deleted file mode 100644 index 10bd01d1..00000000 Binary files a/sis_theme/images/umass/DSCF7111.jpeg and /dev/null differ diff --git a/sis_theme/images/umass/Furcolo_Hall_Fall_2022.jpg b/sis_theme/images/umass/Furcolo_Hall_Fall_2022.jpg deleted file mode 100644 index 612758a1..00000000 Binary files a/sis_theme/images/umass/Furcolo_Hall_Fall_2022.jpg and /dev/null differ diff --git a/sis_theme/images/umass/Masters_4+1_L_1200x628.png b/sis_theme/images/umass/Masters_4+1_L_1200x628.png deleted file mode 100644 index c92d1957..00000000 Binary files a/sis_theme/images/umass/Masters_4+1_L_1200x628.png and /dev/null differ diff --git a/sis_theme/images/umass/Teaser_SophiaS-960x540.jpeg b/sis_theme/images/umass/Teaser_SophiaS-960x540.jpeg deleted file mode 100644 index 8a2fe98d..00000000 Binary files a/sis_theme/images/umass/Teaser_SophiaS-960x540.jpeg and /dev/null differ diff --git a/sis_theme/images/umass/TjOLvw26rR8.html b/sis_theme/images/umass/TjOLvw26rR8.html deleted file mode 100644 index 22944f6e..00000000 --- a/sis_theme/images/umass/TjOLvw26rR8.html +++ /dev/null @@ -1,33 +0,0 @@ - - -YouTube
\ No newline at end of file diff --git a/sis_theme/images/umass/Vy9Ogg227IY.html b/sis_theme/images/umass/Vy9Ogg227IY.html deleted file mode 100644 index d18bd066..00000000 --- a/sis_theme/images/umass/Vy9Ogg227IY.html +++ /dev/null @@ -1,33 +0,0 @@ - - -Brokk Toggerson, Physics, UMass Amherst - YouTube
\ No newline at end of file diff --git a/sis_theme/images/umass/YRzZ9aRZ69w.html b/sis_theme/images/umass/YRzZ9aRZ69w.html deleted file mode 100644 index e08281d1..00000000 --- a/sis_theme/images/umass/YRzZ9aRZ69w.html +++ /dev/null @@ -1,33 +0,0 @@ - - -Why UMass is Ranked #1 for Campus Dining 🍣🌮 #food #umass #campuslife - YouTube
\ No newline at end of file diff --git a/sis_theme/images/umass/Y_I8hyDU8kY.html b/sis_theme/images/umass/Y_I8hyDU8kY.html deleted file mode 100644 index 72aaf3e5..00000000 --- a/sis_theme/images/umass/Y_I8hyDU8kY.html +++ /dev/null @@ -1,33 +0,0 @@ - - -YouTube
\ No newline at end of file diff --git a/sis_theme/images/umass/agqIJlJpbAY.html b/sis_theme/images/umass/agqIJlJpbAY.html deleted file mode 100644 index e8d02d83..00000000 --- a/sis_theme/images/umass/agqIJlJpbAY.html +++ /dev/null @@ -1,33 +0,0 @@ - - -Exploring Downtown Amherst! #umass #college #massachusetts - YouTube
\ No newline at end of file diff --git a/sis_theme/images/umass/async-ads.js.download b/sis_theme/images/umass/async-ads.js.download deleted file mode 100644 index 92750c1c..00000000 --- a/sis_theme/images/umass/async-ads.js.download +++ /dev/null @@ -1,235 +0,0 @@ -if(!window['googleNDT_']){window['googleNDT_']=(new Date()).getTime();}(function() {window.googleAltLoader=4;var sffeData_={service_host:"cse.google.com",hash:"8278404666256831694",packages:"search",module:"ads",version:"3",m:{cei:"17301431,17301434,17301435,17301266",ah:true,uatm:500,ecfc2:true,llrm:1000,lldl:"bS5zZWFycy5jb20=",abf:{"_disableAdRequestForNewConsentStrategy":true,"_enableNewConsentStrategy":true,"_fixCtcLinksOnIos":true,"_googEnableQup":true,"_switchGwsRequestToUseAdsenseDomain":true,"_useServerProvidedDomain":true,"_waitOnConsentForFirstPartyCookie":true,"enableEnhancedTargetingRsonc":true,"enableNonblockingSasCookie":true},mdp:1800000,ssdl:"YXBwc3BvdC5jb20sYmxvZ3Nwb3QuY29tLGJyLmNvbSxjby5jb20sY2xvdWRmcm9udC5uZXQsZXUuY29tLGhvcHRvLm9yZyxpbi5uZXQsdHJhbnNsYXRlLmdvb2csdWsuY29tLHVzLmNvbSx3ZWIuYXBw",cdl:false,cdh:"syndicatedsearch.goog",cdem:{"afs_aa_baseline":500,"afs_gpp_api":0,"disable_usp_api":50,"dprs":0,"inhl":0,"ivt_changes":0,"rs_tcf":0,"rwh_ot":0,"sig_v2_p4":1000}}};'use strict';var p,aa=typeof Object.create=="function"?Object.create:function(a){function b(){}b.prototype=a;return new b},ba=typeof Object.defineProperties=="function"?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a}; -function ca(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b0;){var a=this.g.pop();if(a in this.o)return a}return null}; -ra.prototype.getNext=ra.prototype.j;function sa(a){this.g=new x;this.j=a}function ta(a,b){pa(a.g);var c=a.g.u;if(c)return ua(a,"return"in c?c["return"]:function(d){return{value:d,done:!0}},b,a.g.return);a.g.return(b);return va(a)}function ua(a,b,c,d){try{var e=b.call(a.g.u,c);oa(e);if(!e.done)return a.g.F=!1,e;var g=e.value}catch(f){return a.g.u=null,qa(a.g,f),va(a)}a.g.u=null;d.call(a.g,g);return va(a)} -function va(a){for(;a.g.g;)try{var b=a.j(a.g);if(b)return a.g.F=!1,{value:b.value,done:!1}}catch(c){a.g.C=void 0,qa(a.g,c)}a.g.F=!1;if(a.g.j){b=a.g.j;a.g.j=null;if(b.Eb)throw b.Db;return{value:b.return,done:!0}}return{value:void 0,done:!0}} -function wa(a){this.next=function(b){pa(a.g);a.g.u?b=ua(a,a.g.u.next,b,a.g.L):(a.g.L(b),b=va(a));return b};this.throw=function(b){pa(a.g);a.g.u?b=ua(a,a.g.u["throw"],b,a.g.L):(qa(a.g,b),b=va(a));return b};this.return=function(b){return ta(a,b)};this[Symbol.iterator]=function(){return this}}function xa(a){function b(d){return a.next(d)}function c(d){return a.throw(d)}return new Promise(function(d,e){function g(f){f.done?d(f.value):Promise.resolve(f.value).then(b,c).then(g,e)}g(a.next())})} -function ya(a){return xa(new wa(new sa(a)))}function za(){for(var a=Number(this),b=[],c=a;c>>0)+"_",e=0;return b}); -r("Symbol.iterator",function(a){if(a)return a;a=Symbol("Symbol.iterator");ba(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return Aa(ka(this))}});return a});function Aa(a){a={next:a};a[Symbol.iterator]=function(){return this};return a} -r("Promise",function(a){function b(f){this.g=0;this.o=void 0;this.j=[];this.D=!1;var h=this.u();try{f(h.resolve,h.reject)}catch(k){h.reject(k)}}function c(){this.g=null}function d(f){return f instanceof b?f:new b(function(h){h(f)})}if(a)return a;c.prototype.j=function(f){if(this.g==null){this.g=[];var h=this;this.o(function(){h.A()})}this.g.push(f)};var e=da.setTimeout;c.prototype.o=function(f){e(f,0)};c.prototype.A=function(){for(;this.g&&this.g.length;){var f=this.g;this.g=[];for(var h=0;h=g}});r("String.prototype.endsWith",function(a){return a?a:function(b,c){var d=Ca(this,b,"endsWith");c===void 0&&(c=d.length);c=Math.max(0,Math.min(c|0,d.length));for(var e=b.length;e>0&&c>0;)if(d[--c]!=b[--e])return!1;return e<=0}}); -r("Number.isFinite",function(a){return a?a:function(b){return typeof b!=="number"?!1:!isNaN(b)&&b!==Infinity&&b!==-Infinity}});r("Array.prototype.find",function(a){return a?a:function(b,c){a:{var d=this;d instanceof String&&(d=String(d));for(var e=d.length,g=0;g1114111||e!==Math.floor(e))throw new RangeError("invalid_code_point "+e);e<=65535?c+=String.fromCharCode(e):(e-=65536,c+=String.fromCharCode(e>>>10&1023|55296),c+=String.fromCharCode(e&1023|56320))}return c}});r("Object.entries",function(a){return a?a:function(b){var c=[],d;for(d in b)v(b,d)&&c.push([d,b[d]]);return c}}); -r("Number.isNaN",function(a){return a?a:function(b){return typeof b==="number"&&isNaN(b)}});r("Object.is",function(a){return a?a:function(b,c){return b===c?b!==0||1/b===1/c:b!==b&&c!==c}});r("Array.prototype.includes",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(c<0&&(c=Math.max(c+e,0));c>>16&65535)*e+d*(c>>>16&65535)<<16>>>0)|0}});r("Number.parseInt",function(a){return a||parseInt});/* - - Copyright The Closure Library Authors. - SPDX-License-Identifier: Apache-2.0 -*/ -var z=this||self;function Da(a){var b=typeof a;return b!="object"?b:a?Array.isArray(a)?"array":b:"null"}function Ea(a){var b=Da(a);return b=="array"||b=="object"&&typeof a.length=="number"}function Fa(a,b){a=a.split(".");for(var c=z,d;a.length&&(d=a.shift());)a.length||b===void 0?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};var Ga;function Ha(a){if(a!=null)return a}function Ia(){return typeof sffeData_==="object"?sffeData_:{}}function Ja(a,b){b=b||Ia();return Ha(b[a])}function Ka(a,b){b=b||Ia();a=b[a];return a!=null?a:void 0}function La(a,b){b=b||Ia();return!!b[a]}function A(){return Ia().m||{}}function B(a){return La(a,A().abf)};function Ma(a){this.g=[];this.o=[];a=a.split("#");this.u=a[0];this.j=a[1]||""}function C(a,b,c,d){(c||c===0||c===!1)&&(d?a.g:a.o).push([encodeURIComponent(b),encodeURIComponent(""+c)])} -function D(a){for(var b=a.u,c=a.u.indexOf("?")!==-1,d=0;d=1)for(e=0;eg?f.substring(0,g):f;b+=(c?"&":"?")+a.g[e][0]+"="+g;d-=g.length;g=Math.floor(d/(a.g.length-e-1));c=!0}else for(d=0;d0&&(b+="#"+a.j);return b};function Na(a,b){this.x=a!==void 0?a:0;this.y=b!==void 0?b:0}p=Na.prototype;p.equals=function(a){return a instanceof Na&&(this==a?!0:this&&a?this.x==a.x&&this.y==a.y:!1)};p.ceil=function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this};p.floor=function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this};p.round=function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this};p.scale=function(a,b){this.x*=a;this.y*=typeof b==="number"?b:a;return this};function Oa(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d}Oa.prototype.ceil=function(){this.top=Math.ceil(this.top);this.right=Math.ceil(this.right);this.bottom=Math.ceil(this.bottom);this.left=Math.ceil(this.left);return this};Oa.prototype.floor=function(){this.top=Math.floor(this.top);this.right=Math.floor(this.right);this.bottom=Math.floor(this.bottom);this.left=Math.floor(this.left);return this}; -Oa.prototype.round=function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this};Oa.prototype.scale=function(a,b){b=typeof b==="number"?b:a;this.left*=a;this.right*=a;this.top*=b;this.bottom*=b;return this};/* - - Copyright Google LLC - SPDX-License-Identifier: Apache-2.0 -*/ -var Pa=globalThis.trustedTypes,Qa;function Ra(){var a=null;if(!Pa)return a;try{var b=function(c){return c};a=Pa.createPolicy("goog#html",{createHTML:b,createScript:b,createScriptURL:b})}catch(c){}return a}function Sa(){Qa===void 0&&(Qa=Ra());return Qa};function Ta(a){this.g=a}Ta.prototype.toString=function(){return this.g+""};function Ua(a){var b=Sa();a=b?b.createScriptURL(a):a;return new Ta(a)}function Va(a){if(a instanceof Ta)return a.g;throw Error("");};function Wa(a){this.g=a}Wa.prototype.toString=function(){return this.g};var Xa=/^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i;function Ya(a){if(a instanceof Wa)if(a instanceof Wa)a=a.g;else throw Error("");else a=Xa.test(a)?a:void 0;return a};function Za(a,b){b=Ya(b);b!==void 0&&(a.href=b)};function $a(a){this.g=a}$a.prototype.toString=function(){return this.g+""};function ab(a,b){a.src=Va(b);var c;b=a.ownerDocument;b=b===void 0?document:b;var d;b=(d=(c=b).querySelector)==null?void 0:d.call(c,"script[nonce]");(c=b==null?"":b.nonce||b.getAttribute("nonce")||"")&&a.setAttribute("nonce",c)};var bb="alternate author bookmark canonical cite help icon license modulepreload next prefetch dns-prefetch prerender preconnect preload prev search subresource".split(" ");var cb=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(typeof a==="string")return typeof b!=="string"||b.length!=1?-1:a.indexOf(b,0);for(var c=0;c0){for(var c=Array(b),d=0;da.clientWidth||a.scrollHeight>a.clientHeight||c=="fixed"||c=="absolute"||c=="relative"))return a;return null} -function Jb(a){var b=Ab(a),c=new Na(0,0);if(a==(b?Ab(b):document).documentElement)return c;a=Hb(a);var d=yb(b).g;b=Db(d);d=d.defaultView;b=new Na((d==null?void 0:d.pageXOffset)||b.scrollLeft,(d==null?void 0:d.pageYOffset)||b.scrollTop);c.x=a.left+b.x;c.y=a.top+b.y;return c}function Kb(a){if(a.nodeType==1)return a=Hb(a),new Na(a.left,a.top);a=a.changedTouches?a.changedTouches[0]:a;return new Na(a.clientX,a.clientY)} -function Lb(a){var b=Mb;if(Gb(a,"display")!="none")return b(a);var c=a.style,d=c.display,e=c.visibility,g=c.position;c.visibility="hidden";c.position="absolute";c.display="inline";a=b(a);c.display=d;c.position=g;c.visibility=e;return a}function Mb(a){var b=a.offsetWidth,c=a.offsetHeight,d=ub&&!b&&!c;return(b===void 0||d)&&a.getBoundingClientRect?(a=Hb(a),new E(a.right-a.left,a.bottom-a.top)):new E(b,c)};var Nb=/#|$/;function Ob(a,b){var c=a.search(Nb);a:{var d=0;for(var e=b.length;(d=a.indexOf(b,d))>=0&&dc)e=c;d+=b.length+1;return jb(a.slice(d,e!==-1?e:0))};var Pb={},Qb=(Pb.ads=0,Pb.relatedsearch=3,Pb.cdm=4,Pb.cpb=5,Pb),Rb={content:"c",query:"q",domain:"d"};function Sb(a){return/^(?:(?:slave-\d+(?:-(?:a|b))?)|(?:master-(?:a|b)))-\d+$/.test(a)}function Tb(a){return(a=a.match(/slave-(\d+)-/))?parseInt(a[1],10)+1:1}function Ub(a,b,c){for(var d=[],e,g=0;e=c[g];g++)e=new Ma(e),C(e,a,b),d.push(D(e));return d} -function Vb(a,b){var c=a.indexOf("#");a=c<0?a:a.slice(0,c);if((a=a.match(new RegExp("[?&]"+b+"=([^&]*)")))&&a[1])try{return jb(a[1])}catch(d){}return null}function Wb(){var a=a===void 0?window.location.href:a;var b=B("_enableLazyLoading"),c=Ja("lldl",A());return b&&c&&a.match(new RegExp("("+atob(c).replace(/,/g,")|(")+")"))?!1:!!("IntersectionObserver"in window&&b)} -function Xb(a,b){b=b===void 0?null:b;var c=new Oa(0,Infinity,Infinity,0);for(var d=yb(a),e=d.g.body,g=d.g.documentElement,f=Db(d.g),h=a;h=Ib(h);)if((!ub||h.clientHeight!=0||h!=e)&&h!=e&&h!=g&&Gb(h,"overflow")!="visible"){var k=Jb(h),l=new Na(h.clientLeft,h.clientTop);k.x+=l.x;k.y+=l.y;c.top=Math.max(c.top,k.y);c.right=Math.min(c.right,k.x+h.clientWidth);c.bottom=Math.min(c.bottom,k.y+h.clientHeight);c.left=Math.max(c.left,k.x)}e=f.scrollLeft;f=f.scrollTop;c.left=Math.max(c.left,e);c.top=Math.max(c.top, -f);d=Cb(d.g.defaultView||window);c.right=Math.min(c.right,e+d.width);c.bottom=Math.min(c.bottom,f+d.height);c=c.top>=0&&c.left>=0&&c.bottom>c.top&&c.right>c.left?c:null;d=new Na(a.offsetLeft,a.offsetTop);a=Lb(a);d=new Oa(d.y,d.x+a.width,d.y+a.height,d.x);f=0;b!=null&&(f=-Math.abs(a.height*b));return!!(c&&c.left<=d.right+f&&d.left<=c.right+f&&c.top<=d.bottom+f&&d.top<=c.bottom+f)};var Yb=null,Zb=null,$b=null,ac=null,bc=null;function cc(){return window.ad_json?window.ad_json:typeof ad_json!="undefined"&&ad_json?ad_json:{}}function dc(a){Yb||(Yb=cc().gd||null);return Yb&&Yb[a]||{}}function ec(){this.data=dc("ff")}function G(){var a=Zb;a||(a=new ec,cc().gd&&(Zb=a));return a}function fc(){return!!G().data.ofm}function hc(){this.data=dc("cd")}function ic(){var a=$b;a||(a=new hc,cc().gd&&($b=a));return a}function jc(){this.data=dc("pc")} -function kc(){var a=ac;a||(a=new jc,cc().gd&&(ac=a));return a}function lc(a){return!!a.data.cgna}function mc(){this.data=dc("dc")}function nc(){var a=bc;a||(a=new mc,cc().gd&&(bc=a));return!!a.data.hm};function oc(a){return function(){a.onload=a.onerror=null}}function pc(a){var b=new Image;b.onload=b.onerror=oc(b);b.src=a}function qc(){return Math.floor(Math.random()*2147483648).toString(36)+Math.abs(Math.floor(Math.random()*2147483648)^Date.now()).toString(36)};var rc=null;function sc(){rc||(rc=tc());return rc}function tc(){function a(c,d,e,g){e=La("ah",A())?e:g;return(Ja("cdh",A())||"")!==""?e+(Ja("cdh",A())||""):B("_switchGwsRequestToUseAdsenseDomain")?e+d:e+c}var b=Ha(z.gwsBase_);return b||(b=Ja("gws_host"))?b:(b=Ja("service_host"))?a(b,"www.adsensecustomsearchads.com","https://","//"):a("//www.google.com","//www.adsensecustomsearchads.com","https:","")};var uc=Math.random()<.01,vc=null;function wc(a){this.A=qc;this.g=pc;this.jb=ic().data.qi||"";this.u=this.o="";this.j=a||"unknown"}function xc(a,b){a.j=b}function H(){vc||(vc=new wc(null));return vc}function I(a){var b=new Ma(sc()+"/afs/gen_204"),c=a.j;c==="unknown"&&ic().data.pid&&(c=ic().data.pid||"");C(b,"client",c);C(b,"output","uds_ads_only");C(b,"zx",a.A());C(b,"cd_fexp",a.u);a.jb&&C(b,"aqid",a.jb);a.o&&C(b,"psid",a.o);return b} -function yc(a,b,c){var d=I(a);C(d,"pbt",b);C(d,"adbx",c.left);C(d,"adby",c.top);C(d,"adbh",c.height);C(d,"adbw",c.width);C(d,"adbah",c.sa);C(d,"adbn",c.Jb);C(d,"eawp",c.Ob);C(d,"errv",c.Mb);C(d,"csala",c.Vb);C(d,"lle",c.ac?1:0);C(d,"ifv",c.Rb?1:0);C(d,"hpt",c.Pb?1:0);a.g(D(d))}function zc(a,b){var c=I(a);C(c,"pbt","ui");C(c,"emsg",b);a.g(D(c))}function Ac(a,b){var c=I(a);C(c,"pbt","ri");C(c,"emsg",b);a.g(D(c))} -function Bc(a,b,c){var d=I(a);C(d,"pbt","tp");C(d,"errm",b);C(d,"emsg",c,!0);a.g(D(d))}function Cc(a,b,c){var d=I(a);C(d,"pbt","gerr");C(d,"errm",b);C(d,"emsg",c,!0);a.g(D(d))}function Dc(a,b,c){var d=H();d=I(d);var e=ic().data.ei||null;C(d,"ei",e);C(d,"pbt","sc");C(d,"st",a);C(d,"scp",b);C(d,"scc",c);return D(d)} -function Ec(a){var b=Fc,c=new Ma((La("ah",A())?"https:":"")+"//www.google.com/afs/ads");C(c,"output","uds_ads_only");C(c,"type",Qb.cpb);var d=a.name;typeof d==="string"&&(C(c,"isPT",!!a[d].kw),b.g(D(c)))};var Gc={};function Hc(){this.j="ads."+Ic;this.g=H()}Hc.prototype.log=function(a,b){if(window.IS_GOOGLE_AFS_IFRAME_===!0&&window.parent==window)return!1;var c=typeof a;a=c=="object"&&a!=null||c=="function"?a.message:a;if(!Gc[b]){Gc[b]=!0;c=this.g;var d=this.j,e=I(c);C(e,"pbt","er");C(e,"errt",d);C(e,"errv",913690580);C(e,"errm",b);C(e,"emsg",a,!0);c.g(D(e));return!0}return!1}; -function J(a,b){return function(){var c=Array.prototype.slice.call(arguments,0)||[];try{return a.apply(this,c)}catch(e){typeof e==="string"&&(e={message:e});c=e.message;var d=c.indexOf("google.ads.search.Ads: ")==-1;d&&K.log(e,b);throw d?"google.ads.search.Ads: "+c:c;}}}function L(a){return"google.ads.search.Ads: "+a}function M(a,b){return J(a,b)}var Jc=Ja("packages"),Ic="unknown";Jc!=null&&(Ic=Jc);var K=new Hc;var Kc;a:{var Lc=window.parent;try{Kc=Lc.postMessage?Lc:Lc.document.postMessage?Lc.document:null;break a}catch(a){}Kc=null}var Mc=Kc,Nc={},Oc=M(function(){for(var a=u(lb(Nc)),b=a.next();!b.done;b=a.next())b=b.value,Nc.hasOwnProperty(b)&&(Nc[b].o()||delete Nc[b])},"fsCDI"),Pc=!1,Rc=M(function(){Pc||(Pc=!0,window.setInterval(Oc,500),window.addEventListener("message",Qc))},"fsIL");function Sc(a,b){this.u=a;this.g={};this.j=b;Nc[this.u]=this;Rc()} -function Tc(a,b){return a.g.hasOwnProperty(b)?a.g[b].value:null}function Uc(a,b){return a.g.hasOwnProperty(b)?a.g[b].value:null}function N(a,b,c,d){a.g.hasOwnProperty(b)||(a.g[b]=c());c=a.g[b];c.j=d||function(){};c.value!=null&&c.j(a,a.u,b,c.value)}Sc.prototype.o=function(){return!!(this.j&&this.j.parentNode&&this.j.contentWindow)};var Vc={};function Wc(){this.value=null;this.j=function(){};this.g=!1}p=Wc.prototype;p.ea=function(){};p.ra=function(){};p.oa=function(){};p.ka=function(){}; -p.equals=function(a){return this.value==a};function O(){Wc.call(this)}t(O,Wc);O.prototype.ea=function(a,b){return!!b};O.prototype.ra=function(){return this.value?"t":"f"};O.prototype.oa=function(a){return a=="t"};O.prototype.ka=function(){return 0};O.g=function(){return new O};function P(){Wc.call(this)}t(P,Wc); -P.prototype.ea=function(a,b){var c=parseInt(b,10);a=a+" = "+b;if(isNaN(c))return K.log(a,"sIGVVnn"),null;c>9007199254740991&&(K.log(a,"sIGVVtl"),c=9007199254740991);c<0&&(K.log(a,"sIGVVts"),c=0);return c};P.prototype.ra=function(){return this.value+""};P.prototype.oa=function(a){return parseInt(a,10)};P.prototype.ka=function(){return 1};P.g=function(){return new P};function Q(){Wc.call(this)}t(Q,Wc);Q.prototype.ea=function(a,b){return b?b.toString():""}; -Q.prototype.ra=function(){return this.value?encodeURIComponent(this.value):""};Q.prototype.oa=function(a){return jb(a)};Q.prototype.ka=function(){return 2};Q.g=function(){return new Q};function R(){Wc.call(this)}t(R,Wc);p=R.prototype;p.ea=function(a,b){return b?b:null};p.ra=function(){return this.value?encodeURIComponent(JSON.stringify(this.value)):""};p.oa=function(a){return a?JSON.parse(jb(a)):null};p.ka=function(){return 3}; -p.equals=function(a){var b=JSON.stringify(this.value);a=JSON.stringify(a);return b===a};R.g=function(){return new R};var Xc={},Yc=(Xc[0]=O.g,Xc[1]=P.g,Xc[2]=Q.g,Xc[3]=R.g,Xc);function Zc(a,b,c){Vc.hasOwnProperty(a)||(Vc[a]=c());c=Vc[a];a=c.ea(a,b);a==null||c.equals(a)||(c.value=a,c.g=!0)} -function Qc(a){if(a=a||window.event)for(var b=u(lb(Nc)),c=b.next();!c.done;c=b.next())if(c=Nc[c.value],c.o()&&a.source==c.j.contentWindow){b=c;if((a=a.data)&&a.split&&(a=a.split(","),a[0]=="FSXDC")){for(c=1;c0))if(kc().data.alct){c=Ub("block",""+c,a);b=eb(Bb(b));var d;for(a=0;d=b[a];a++){var e=c;e=Ub("ad",""+(a+1),e);gd(d,e)}}else gd(b,a)};var id={};function jd(a){var b={names:[],frames:[]},c;for(c in id){var d=kd(c,a);d==null?delete id[c]:(b.names.push(c),b.frames.push(d))}return b}jd=J(jd,"cFr");function kd(a,b){if(ld)return ld(a,b);if(a==b.name)return window;try{var c=window.parent.frames[a+"|"+window.name];if(c)return c}catch(d){}try{return window.parent.frames[a]||null}catch(d){}return null}kd=J(kd,"gFBN");var ld=null,md=jd,nd=kd;function od(a,b,c){c=c===void 0?[]:c;this.j=a;this.g=b;this.sa=c};function pd(a,b,c){var d=!1;a.addEventListener(b,c);a.addEventListener(b,function(){d||(a.removeEventListener(b,c),d=!0)})};function qd(){var a,b;return{promise:new Promise(function(c,d){a=c;b=d}),resolve:a,reject:b}}function rd(a,b){var c=qd();window.setTimeout(function(){c.resolve(b)},a);return c.promise}function sd(a){var b=[],c=0,d=a.length;return new Promise(function(e,g){if(d)for(var f={fa:0};f.fa',\n bodyText: '',\n buttons: ['Optional list of button text, one per button'],\n additionalText: '',\n },\n {\n adType: 'video',\n handle: '',\n title: '',\n buttons: [''],\n audioTranscription: '
+
+ +
+ +
+ - -
-
-
- - - -
- -
- +
+ +
- + -
- -
- -
-
-
-
- - - - -
- -
-
- -
- - - - - - - - - - - - - - - - - - - - -
-
- - - -
- -
- - Graduating students celebrate at McGuirk Stadium prior to 2025 Undergraduate Commencement -
- -
- -
-
- - -
-
- - -
- -
-
-

- Congratulations, Class of 2026 -

- - - - - - - - - - - - - -
-
- - -
- - - - - - -
-
-
- -
- -
- -
-
- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- +
+
+
+
+ + + + +
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + Graduating students celebrate at McGuirk Stadium prior to 2025 Undergraduate Commencement +
+ +
+ +
+
+ + +
+
+ + +
+ +
+
+

+ Congratulations, + Class of 2026 +

+ + + + + + + + + + + + + +
+
+ +
+ + +
+
+ + + -
-

Step Into Your Future

-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - -
- - - - -
-

What's Life Like at UMass?

-
- - - - - -
- -
-
- - - - -
-

- Make UMass Your Own -

-
- - - -
-

Explore big ideas, join vibrant communities, and shape a college experience that’s uniquely yours.

-
- - - - - - -
-
- - - - -
-

- Your Campus Home -

-
- - - -
-

Choose from vibrant residential communities where students live, study, and build lasting friendships steps from the classroom.

-
- - - - - - -
-
- - - - -
-

- Food Worth Talking About -

-
- - - -
-

Discover why UMass dining is ranked #1 nationally—recognized for quality, variety, and sustainability.

-
- - - - - - -
-
- - - - -
-

- Amherst, Uncommon -

-
- - - -
-

A vibrant creative culture, great food, and the natural beauty of the Pioneer Valley come together to shape this town’s distinctive, welcoming spirit.

-
- - - -
- - - - - - - - - - -
- - -
-
-
- - -
- -
-
- - - -
- - - - - - - A UMass student plays ping pong. - - - -
- - - - - - - - - - - - -
- -
- - - -
-
- - - -
- - - - - - - A UMass student sits on her bed in a dorm room. - - - -
- - - - - - - - - - - - -
- -
- - - -
-
- - - -
- - - - - - - A student gets food at a UMass Amherst dining hall. - - - -
- - - - - - - - - - - - -
- -
- - - -
-
- - - -
- - - - - - - A UMass student holds a hote bag that reads "I Love Amherst." - - - -
- - - - - - - - - - - - -
- -
- - - -
-
- - -
- - - - - - - - - - - - - -
-
- - - -
-
-
-
#1
-

Public Research University in New England,
Non-Medical School R&D Expenditures

-
-
-
-
-
251
-

Total Degree Programs

-
-
-
-
-
Top 50
-

Best Value Colleges (Public), The Princeton Review

-
-
-
- - - -
- - - - - - - - - - - - - - -
-
-
- -

- Excellence in Action -

- -
- -

UMass Amherst advances academic excellence through research, teaching, and engagement across campus. Students and faculty drive discovery through programs, scholarship, and events that extend beyond the classroom.

- -
- - - -
- -
-
-
- - - - - - - -
- -
- -
- - -
A group of five students lean over laptops in a classroom - - -
- -
-
- -
- - - -
- - - -
-
- - - - - - - -
- -
- -
- - -
Tinashe performs at the Spring Concert. - - -
- -
-
- -
- - - -
- - - -
-
- - - - - - - -
- -
- -
- - -
Two students work with building tools. - - -
- -
-
- -
- - - -
- - - -
-
- - - - - - - -
- -
- -
- - -
Vy Do in UMas Amherst biomedical engineering lab - - -
- -
-
- -
- - - -
- - - -
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- - - - -
-

Blaze Your Own Trail

-
- - - - -
-

Discover more than 100 undergraduate majors, minors, and certificates in fields ranging from engineering to public health to literature. You can even design your own major through our individual concentration program. Whatever your path, UMass gives you the freedom to explore and the tools to excel.

-
- - -
- - - - -
- - - - - -
-
- - - - - -
- - - - - - - A professor walks with students in the rooftop garden of the Olver Design Building. - - - -
- - - -
- -

- Find a Program -

- - - -
-

With more than 100 majors, you have the freedom to explore your interests and build an academic path that reflects who you are and where you want to go.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst Drone Campus - - - -
- - - -
- -

- Design Your Own Major -

- - - -
-

Through the Bachelor’s Degree with Individual Concentration (BDIC) Program, students can create a personalized major, blending courses across fields to explore passions beyond traditional academic boundaries.

-
- - - - - - - - - - - -
- - -
- - - - - -
-
- - - - - -
- - - - - - - UMass Amherst Study Abroad London - - - -
- - - -
- -

- Study Abroad -

- - - -
-

Global learning opportunities immerse students in new cultures, expanding their perspectives and preparing them to thrive in a connected world.

-
- - - - - - - - - - - -
- - -
- - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - -
-

APPLY TODAY

-
- - -
- - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - -
-

I'm Looking For...

-
- - -
- - -
-
- - - - - - - - - - - -
-
- - - -
- - - - - - - - - - - -
-
- - -
-

- NEWS & EVENTS -

- - - More News & Events - -
- -

- FEATURED ARTICLES -

- - - -
- -
-

- LATEST NEWS -

- -
-
- - - -
-
- - - -
+
-
-
-

- Events -

- -
-
JUN
02
10:00 am – 4:00 pm
UMass Downtown
JUN
02
5:00 pm – 6:00 pm
Orchard Hill Pavilion
-
-
+
-
+
- - +
+
-
+
-
-
-
-
-
-
-
-
- + + + + + + + + + + + +
+
+
+ + + +
+

Step Into Your Future

+
+ + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + + +
+

What's Life Like at UMass?

+
+ + + + + +
+ +
+
+ + + + +
+

+ Make UMass Your Own +

+
+ + + +
+

Explore big ideas, join vibrant communities, and shape a college experience + that’s uniquely yours.

+
+ + + + + + +
+
+ + + + +
+

+ Your Campus Home +

+
+ + + +
+

Choose from vibrant residential communities where students live, study, and + build lasting friendships steps from the classroom.

+
+ + + + + + +
+
+ + + + +
+

+ Food Worth Talking About +

+
+ + + +
+

Discover why UMass dining is ranked #1 nationally—recognized for quality, + variety, and sustainability.

+
+ + + + + + +
+
+ + + + +
+

+ Amherst, Uncommon +

+
+ + + +
+

A vibrant creative culture, great food, and the natural beauty of the Pioneer + Valley come together to shape this town’s distinctive, welcoming spirit.

+
+ + + +
+ + + + + + + + + + +
+ + +
+
+
+ + +
+ +
+
+ + + +
+ + + + + + + A UMass student plays ping pong. + + + +
+ + + + + + + + + + + + +
+ +
+ + + +
+
+ + + +
+ + + + + + + A UMass student sits on her bed in a dorm room. + + + +
+ + + + + + + + + + + + +
+ +
+ + + +
+
+ + + +
+ + + + + + + A student gets food at a UMass Amherst dining hall. + + + +
+ + + + + + + + + + + + +
+ +
+ + + +
+
+ + + +
+ + + + + + + A UMass student holds a hote bag that reads "I Love Amherst." + + + +
+ + + + + + + + + + + + +
+ +
+ + + +
+
+ + +
+
+ + + + + + + + + + + + + +
+
+ + + +
+
+
+
#1
+
+

Public Research University in New England,
Non-Medical School R&D + Expenditures

+
+
+
+
+
+
251
+
+

Total Degree Programs

+
+
+
+
+
+
Top 50
+
+

Best Value Colleges (Public), The Princeton Review

+
+
+
+
+ + + +
+
+ + + + + + + + + + + + + + +
+
+
+ +

+ Excellence in Action +

+ +
+ +
+

UMass Amherst advances academic excellence through research, teaching, and + engagement across campus. Students and faculty drive discovery through programs, + scholarship, and events that extend beyond the classroom.

+
+ +
+ + + +
+ +
+
+
+ + + + + + + +
+ +
+ +
+
+ + +
A group of five students lean over laptops in a classroom + + +
+ +
+
+ +
+ + + +
+ + + +
+
+ + + + + + + +
+ +
+ +
+
+ + +
Tinashe performs at the Spring Concert. + + +
+ +
+
+ +
+ + + +
+ + + +
+
+ + + + + + + +
+ +
+ +
+
+ + +
Two students work with building tools. + + +
+ +
+
+ +
+ + + +
+ + + +
+
+ + + + + + + +
+ +
+ +
+
+ + +
Vy Do in UMas Amherst biomedical engineering lab + + +
+ +
+
+ +
+ + + +
+ + + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + +
+

Blaze Your Own Trail

+
+ + + + +
+

Discover more than 100 undergraduate majors, minors, and certificates in fields + ranging from engineering to public health to literature. You can even design your own + major through our individual concentration program. Whatever your path, UMass gives + you the freedom to explore and the tools to excel.

+
+ + +
+ + + + +
+ + + + + +
+
+ + + + + +
+ + + + + + + A professor walks with students in the rooftop garden of the Olver Design Building. + + + +
+ + + +
+ +

+ Find a Program +

+ + + +
+

With more than 100 majors, you have the freedom to explore your interests and + build an academic path that reflects who you are and where you want to go.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst Drone Campus + + + +
+ + + +
+ +

+ Design Your Own Major +

+ + + +
+

Through the Bachelor’s Degree with Individual Concentration (BDIC) Program, + students can create a personalized major, blending courses across fields to + explore passions beyond traditional academic boundaries.

+
+ + + + + + + + + + + +
+ + +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + UMass Amherst Study Abroad London + + + +
+ + + +
+ +

+ Study Abroad +

+ + + +
+

Global learning opportunities immerse students in new cultures, expanding their + perspectives and preparing them to thrive in a connected world.

+
+ + + + + + + + + + + +
+ + +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+

APPLY TODAY

+
+ + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+

I'm Looking For...

+
+ + +
+ + +
+
+ + + + + + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + +
+
+ + +
+

+ NEWS & EVENTS +

+ + + More News & Events + +
+ +

+ FEATURED ARTICLES +

+ + + +
+ +
+

+ LATEST NEWS +

+ +
+
+ + + +
+
+ + + +
+
+
+ +
+

+ Events +

+ +
+ + +
+
+
+
+
+
MAY
+
27
+
+ +
+
+
+
+
+
MAY
+
28
+
+ +
+
+
+
+
+
JUN
+
02
+
+
+ +
10:00 am – 4:00 pm
+
UMass Downtown
+
+
+
+
+
+
+
JUN
+
02
+
+
+ +
5:00 pm – 6:00 pm
+
Orchard Hill Pavilion
+
+
+
+
+
+
+
+ +
+ + + + +
+
+ + + + + +
+ +
+
+ +
+ +
+ +
+
+ +
+ + + +
+ +
+
+ +
+ + +
+
-
- -
-
-
- -
- -
- -
-
+
- - - - - - - + + + + -
\ No newline at end of file + +
+
+ + + \ No newline at end of file