Skip to content

Commit 4e13f0c

Browse files
authored
Merge pull request #111 from smswithoutborders/staging
updated papers and update the website
2 parents f0bc095 + 8d3353a commit 4e13f0c

18 files changed

Lines changed: 3049 additions & 1149 deletions

README.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,86 @@ In addition to React, we utilized the following packages to enhance functionalit
4949
- React Icons
5050

5151
Feel free to explore and contribute to make SMS Without Borders even better!
52+
53+
54+
55+
---------------------------------------------------------------------------------------------------------------------------------------------
56+
57+
# Research & Publications Section – Integration Guide
58+
59+
## Overview
60+
61+
This adds a fully-featured **Research & Publications** page to the SMSWithoutBorders website that:
62+
63+
- Displays all papers, white papers, and threads in a searchable, filterable grid
64+
- Lets non-developers **add new papers by only editing one JSON file** — no React code needed
65+
- Supports search by title, topic, author, or keyword
66+
- Supports filtering by type (whitepaper / research / thread), year, and topic tags
67+
- Links directly to PDFs (Google Drive, arXiv, etc.)
68+
69+
---
70+
71+
## Files Delivered
72+
73+
```
74+
src/
75+
data/
76+
papers.json
77+
pages/
78+
ResearchPage.jsx
79+
```
80+
81+
82+
## How to add new papers (NO code needed)
83+
84+
All papers live in **`src/data/papers.json`**. To add a new paper:
85+
86+
1. Open `src/data/papers.json` in any text editor or directly on GitHub (click the file → pencil icon to edit)
87+
2. Copy this template and paste it before the last `]`:
88+
89+
```json
90+
{
91+
"id": "7",
92+
"title": "Your Paper Title Here",
93+
"authors": ["First Author", "Second Author"],
94+
"abstract": "A short summary of the paper (2-4 sentences).",
95+
"topics": ["Topic1", "Topic2", "Topic3"],
96+
"type": "whitepaper",
97+
"year": 2025,
98+
"pdfUrl": "https://link-to-pdf-or-google-drive.com/...",
99+
"thumbnail": null
100+
}
101+
```
102+
103+
3. Save / commit the file
104+
4. The website will automatically show the new paper
105+
106+
### Field reference
107+
108+
| Field | Required | Options / Notes |
109+
|-------------|----------|----------------------------------------------------------------------|
110+
| `id` | Yes | Unique string number (increment from last entry) |
111+
| `title` | Yes | Full paper title |
112+
| `authors` | Yes | Array of author name strings |
113+
| `abstract` | Yes | 1–4 sentence summary shown on the card |
114+
| `topics` | Yes | Array of topic tags (used for filtering); use existing ones or new |
115+
| `type` | Yes | `"whitepaper"`, `"research"`, or `"thread"` |
116+
| `year` | Yes | Publication year as a number, e.g. `2024` |
117+
| `pdfUrl` | Yes | Full URL to PDF, Google Drive view link, or arXiv. `""` = Coming Soon|
118+
| `thumbnail` | No | Path to a cover image (optional, leave `null` if not used) |
119+
120+
---
121+
122+
## Google Drive PDF links
123+
124+
For Google Drive, use the **viewer link** format:
125+
```
126+
https://drive.google.com/file/d/FILE_ID/view
127+
```
128+
This opens an in-browser reader, which works perfectly with the "Read Paper" button.
129+
130+
---
131+
132+
## Want inline PDF reading (no leaving the site)?
133+
134+
If you want papers to open in an embedded reader within the website instead of a new tab, we can add a modal with `react-pdf`. Let us know!

public/locales/en/translation.json

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
"papers": {
1313
"whitepaper": "Whitepaper",
1414
"threatModel": "Threat Model"
15-
}
15+
},
16+
"researchFull": "Research Papers"
1617
},
1718
"loader": "Loading Please Wait",
1819
"LandingHeader": "Open Source | Research",
@@ -23,8 +24,9 @@
2324
"description2": " Our journey toward achieving our mission began in 2021 with the development of the first Android version of RelaySMS. We have come far since then, with support for more platforms and many more apps.",
2425
"description3": "We publish our research as frequently as possible on our blog and make announcements via our social media outlets. SMSWithoutBorders is a project started by the team at <a href='https://Afkanerd.com' class='afkanerd'>Afkanerd</a>."
2526
},
26-
"projectHeader": "Innovative Projects Under SMSWithoutBorders(SWOB)",
27+
"projectHeader": "Innovative Projects Under SMSWithoutBorders",
2728
"projectSubHeader": "SMSWithoutBorders Commits to buiding OpenSource Tools That Aid Free speech and Communication",
29+
"projectsub": "Our Projects",
2830
"project1": {
2931
"title": "RelaySMS",
3032
"description": "RelaySMS uses SMS messaging to communicate with online platforms without needing an internet connection. The users can grant access to their online platforms which would be used to act on their behalf using SMS messaging. The access granted, messages being sent from the app, and how they get published online are secured with strong up-to-date cryptographic and security practices.",
@@ -42,11 +44,13 @@
4244
"keyPoint2": "Privacy"
4345
},
4446
"Sponsor": {
47+
"Sponsorsub": "Partners",
4548
"SponsorT": "Supporting Organizations",
46-
"Sponsor-subheader": "This Organizations helps keep SMSWithoutBorders afloat"
49+
"sponsorfooter": "Proudly supported by organizations committed to a free and open internet."
4750
},
4851
"footer": {
49-
"copyright": "© Afkanerd."
52+
"copyright": "© Afkanerd.",
53+
"github": "GitHub"
5054
},
5155
"social": {
5256
"x": "Follow us on X",
@@ -120,5 +124,37 @@
120124
"Privacy-Policy12": {
121125
"policyHeader12": "Contact Us",
122126
"policyBody16": "If you have any questions about this Privacy Policy, you can contact us by visiting this page on our website <a href=\"https://smswithoutborders.com\">smswithoutborders.com</a>"
123-
}
127+
},
128+
129+
"paperReader": {
130+
"notFound": "Paper not found.",
131+
"backToResearch": "Back to Research",
132+
"researchAndPublications": "Research Papers",
133+
"research": "Research",
134+
"comingSoon": "Full text coming soon",
135+
"comingSoonSub": "This paper has not been published yet. Check back later.",
136+
"openPdf": "Open PDF",
137+
"openPdfDirectly": "Open PDF directly",
138+
"loading": "Loading document…",
139+
"errorMessage": "The document could not be loaded. Make sure the PDF file exists in public/papers/ and the filename matches exactly.",
140+
"back": "← Back",
141+
"type": {
142+
"whitepaper": "White Paper",
143+
"research": "Research",
144+
"thread": "Thread"
145+
}
146+
},
147+
"researchPage": {
148+
"knowledgeBase": "Knowledge Base",
149+
"title": "Research & Publications",
150+
"subtitle": "White papers, research findings, and community threads on offline communication, privacy, and digital inclusion.",
151+
"searchPlaceholder": "Search by title, topic or author…",
152+
"filterAll": "All",
153+
"clearTags": "✕ Clear tags",
154+
"of": "of",
155+
"noResults": "No results found. Try adjusting your filters.",
156+
"readPaper": "Read Paper",
157+
"comingSoon": "Coming Soon",
158+
"viewFullDocument": "View full document →"
159+
}
124160
}

public/locales/es/translation.json

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,21 @@
1212
"papers": {
1313
"whitepaper": "Libro blanco",
1414
"threatModel": "Modelo de amenazas"
15-
}
15+
},
16+
"researchFull": "Artículos de investigación"
1617
},
1718
"loader": "Cargando, por favor espere",
1819
"LandingHeader": "Código abierto | Investigación",
1920
"About": {
20-
"AboutHeader": "Explorar SMSWithoutBorders",
21+
"AboutHeader": "Explora SMSWithoutBorders",
2122
"description": "SMSWithoutBorders (SWOB) se dedica a investigar, desarrollar y promover herramientas de comunicación seguras y accesibles que funcionen incluso sin conexión a Internet.",
2223
"description1": "El desarrollo incluye aplicaciones móviles para varias plataformas como Android, iOS y sistemas Linux. Parte del trabajo también incluye documentos técnicos sobre temas como criptografía, comunicaciones y libertad en Internet.",
2324
"description2": "Nuestro camino hacia el cumplimiento de nuestra misión comenzó en 2021 con el desarrollo de la primera versión de RelaySMS para Android. Desde entonces, hemos avanzado mucho, con soporte para más plataformas y muchas más aplicaciones.",
2425
"description3": "Publicamos nuestras investigaciones con la mayor frecuencia posible en nuestro blog y hacemos anuncios a través de nuestras redes sociales. SMSWithoutBorders es un proyecto iniciado por el equipo de <a href='https://Afkanerd.com' class='afkanerd'>Afkanerd</a>."
2526
},
26-
"projectHeader": "Proyectos innovadores bajo SMSWithoutBorders(SWOB)",
27+
"projectHeader": "Proyectos innovadores bajo SMSWithoutBorders",
2728
"projectSubHeader": "SMSWithoutBorders se compromete a construir herramientas de código abierto que promuevan la libertad de expresión y la comunicación",
29+
"projectsub": "Nuestros proyectos",
2830
"project1": {
2931
"title": "RelaySMS",
3032
"description": "RelaySMS utiliza la mensajería SMS para comunicarse con plataformas en línea sin necesidad de conexión a Internet. Los usuarios pueden otorgar acceso a sus plataformas en línea, el cual se utilizará para actuar en su nombre mediante mensajes SMS. El acceso concedido, los mensajes enviados desde la aplicación y cómo se publican en línea están asegurados con prácticas criptográficas y de seguridad modernas y sólidas.",
@@ -42,8 +44,9 @@
4244
"keyPoint2": "Privacidad"
4345
},
4446
"Sponsor": {
47+
"Sponsorsub": "Socios",
4548
"SponsorT": "Organizaciones de apoyo",
46-
"Sponsor-subheader": "Estas organizaciones ayudan a mantener SMSWithoutBorders en funcionamiento"
49+
"sponsorfooter": "Orgullosamente respaldado por organizaciones comprometidas con un internet libre y abierto."
4750
},
4851
"footer": {
4952
"copyright": "© Afkanerd."
@@ -120,5 +123,36 @@
120123
"Privacy-Policy12": {
121124
"policyHeader12": "Contáctanos",
122125
"policyBody16": "Si tiene alguna pregunta sobre esta Política de Privacidad, puede contactarnos visitando esta página en nuestro sitio web. <a href=\"https://smswithoutborders.com\">smswithoutborders.com</a>"
123-
}
126+
},
127+
"paperReader": {
128+
"notFound": "Documento no encontrado.",
129+
"backToResearch": "Volver a investigación",
130+
"researchAndPublications": "Investigación y publicaciones",
131+
"research": "Investigación",
132+
"comingSoon": "Texto completo próximamente",
133+
"comingSoonSub": "Este documento aún no ha sido publicado. Vuelve más tarde.",
134+
"openPdf": "Abrir PDF",
135+
"openPdfDirectly": "Abrir PDF directamente",
136+
"loading": "Cargando documento…",
137+
"errorMessage": "No se pudo cargar el documento. Asegúrate de que el archivo PDF exista en public/papers/ y que el nombre del archivo coincida exactamente.",
138+
"back": "← Volver",
139+
"type": {
140+
"whitepaper": "Libro blanco",
141+
"research": "Investigación",
142+
"thread": "Hilo"
143+
}
144+
},
145+
"researchPage": {
146+
"knowledgeBase": "Base de conocimiento",
147+
"title": "Investigación y publicaciones",
148+
"subtitle": "Libros blancos, hallazgos de investigación y debates comunitarios sobre comunicación offline, privacidad e inclusión digital.",
149+
"searchPlaceholder": "Buscar por título, tema o autor…",
150+
"filterAll": "Todos",
151+
"clearTags": "✕ Limpiar etiquetas",
152+
"of": "de",
153+
"noResults": "No se encontraron resultados. Intenta ajustar tus filtros.",
154+
"readPaper": "Leer documento",
155+
"comingSoon": "Próximamente",
156+
"viewFullDocument": "Ver documento completo →"
157+
}
124158
}

public/locales/fa/translation.json

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,21 @@
1212
"papers": {
1313
"whitepaper": "کتاب سفید",
1414
"threatModel": "مدل تهدید"
15-
}
15+
},
16+
"researchFull": "مقالات پژوهشی"
1617
},
1718
"loader": "در حال بارگذاری، لطفاً صبر کنید",
1819
"LandingHeader": "منبع باز | پژوهش",
1920
"About": {
20-
"Aboutheader": "کاوش در SMSWithoutBorders",
21+
"AboutHeader": "کاوش در SMSWithoutBorders",
2122
"description": "SMSWithoutBorders (SWOB) به تحقیق، توسعه و ترویج ابزارهای ارتباطی امن و در دسترس اختصاص دارد که حتی بدون اتصال اینترنت نیز کار می‌کنند.",
2223
"description1": "توسعه شامل اپلیکیشن‌های موبایل برای پلتفرم‌های مختلف مانند اندروید، iOS و سیستم‌های لینوکس است. بخشی از کار همچنین شامل مقالات پژوهشی در موضوعاتی مانند رمزنگاری، ارتباطات و آزادی اینترنت می‌باشد.",
2324
"description2": "سفر ما برای دستیابی به مأموریت خود در سال 2021 با توسعه اولین نسخه اندروید RelaySMS آغاز شد. از آن زمان تاکنون پیشرفت زیادی داشته‌ایم، با پشتیبانی از پلتفرم‌های بیشتر و اپلیکیشن‌های فراوان دیگر.",
2425
"description3": "ما تحقیقات خود را تا حد امکان در بلاگ منتشر می‌کنیم و از طریق شبکه‌های اجتماعی اطلاع‌رسانی می‌کنیم. SMSWithoutBorders پروژه‌ای است که توسط تیم <a href='https://Afkanerd.com' class='afkanerd'>Afkanerd</a> آغاز شد."
2526
},
26-
"projectHeader": "پروژه‌های نوآورانه تحت SMSWithoutBorders(SWOB)",
27+
"projectHeader": "پروژه‌های نوآورانه تحت SMSWithoutBorders",
2728
"projectSubHeader": "SMSWithoutBorders متعهد به ساخت ابزارهای متن‌باز است که به آزادی بیان و ارتباطات کمک می‌کنند",
29+
"projectsub": "پروژه‌های ما",
2830
"project1": {
2931
"title": "RelaySMS",
3032
"description": "RelaySMS از پیامک برای ارتباط با پلتفرم‌های آنلاین بدون نیاز به اینترنت استفاده می‌کند. کاربران می‌توانند دسترسی به پلتفرم‌های آنلاین خود را اعطا کنند که از طریق پیامک به نمایندگی از آنها عمل خواهد کرد. دسترسی داده‌شده، پیام‌های ارسال‌شده از برنامه و نحوه انتشار آنها به صورت آنلاین با استفاده از شیوه‌های رمزنگاری و امنیتی به‌روز و قدرتمند ایمن می‌شوند.",
@@ -42,8 +44,9 @@
4244
"keyPoint2": "حریم خصوصی"
4345
},
4446
"Sponsor": {
47+
"Sponsorsub": "شرکا",
4548
"SponsorT": "سازمان‌های پشتیبان",
46-
"Sponsor-subheader": "این سازمان‌ها به حفظ SMSWithoutBorders کمک می‌کنند"
49+
"sponsorfooter": "با افتخار با حمایت سازمان‌هایی که به اینترنتی آزاد و باز متعهد هستند."
4750
},
4851
"footer": {
4952
"copyright": "© Afkanerd."
@@ -120,5 +123,36 @@
120123
"Privacy-Policy12": {
121124
"policyHeader12": "با ما تماس بگیرید",
122125
"policyBody16": "اگر سوالی در مورد این سیاست حفظ حریم خصوصی دارید، می‌توانید با مراجعه به این صفحه در وب‌سایت ما با ما تماس بگیرید <a href=\"https://smswithoutborders.com\">smswithoutborders.com</a>"
123-
}
126+
},
127+
"paperReader": {
128+
"notFound": "سند پیدا نشد.",
129+
"backToResearch": "بازگشت به تحقیقات",
130+
"researchAndPublications": "تحقیقات و انتشارات",
131+
"research": "تحقیقات",
132+
"comingSoon": "متن کامل به زودی منتشر می‌شود",
133+
"comingSoonSub": "این مقاله هنوز منتشر نشده است. بعداً دوباره بررسی کنید.",
134+
"openPdf": "باز کردن PDF",
135+
"openPdfDirectly": "باز کردن مستقیم PDF",
136+
"loading": "در حال بارگذاری سند…",
137+
"errorMessage": "سند بارگذاری نشد. مطمئن شوید فایل PDF در مسیر public/papers/ وجود دارد و نام فایل دقیقاً مطابقت دارد.",
138+
"back": "← بازگشت",
139+
"type": {
140+
"whitepaper": "وایت پیپر",
141+
"research": "تحقیق",
142+
"thread": "رشته"
143+
}
144+
},
145+
"researchPage": {
146+
"knowledgeBase": "پایگاه دانش",
147+
"title": "تحقیقات و انتشارات",
148+
"subtitle": "وایت‌پیپرها، یافته‌های پژوهشی و رشته‌های گفتگو درباره ارتباطات آفلاین، حریم خصوصی و شمول دیجیتال.",
149+
"searchPlaceholder": "جستجو بر اساس عنوان، موضوع یا نویسنده…",
150+
"filterAll": "همه",
151+
"clearTags": "✕ پاک کردن برچسب‌ها",
152+
"of": "از",
153+
"noResults": "هیچ نتیجه‌ای یافت نشد. فیلترهای خود را تغییر دهید.",
154+
"readPaper": "خواندن مقاله",
155+
"comingSoon": "به‌زودی",
156+
"viewFullDocument": "مشاهده سند کامل →"
157+
}
124158
}

0 commit comments

Comments
 (0)