BibexPy 2.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bibex_core/MergeDB.py +1189 -0
- bibex_core/__init__.py +13 -0
- bibex_core/modules/__init__.py +35 -0
- bibex_core/modules/api_utils.py +1172 -0
- bibex_core/modules/c1_utils.py +423 -0
- bibex_core/modules/file_utils.py +71 -0
- bibex_core/modules/ml_utils.py +332 -0
- bibex_core/modules/post_process.py +50 -0
- bibex_core/modules/stats_utils.py +216 -0
- bibex_core/scp2xlsx.py +235 -0
- bibex_core/wos2xlsx.py +159 -0
- bibex_core/xlsx2vos.py +185 -0
- bibexpy/__init__.py +9 -0
- bibexpy/__main__.py +6 -0
- bibexpy/_server/__init__.py +1 -0
- bibexpy/_server/config.py +92 -0
- bibexpy/_server/jobs/__init__.py +3 -0
- bibexpy/_server/jobs/runner.py +301 -0
- bibexpy/_server/main.py +211 -0
- bibexpy/_server/models/__init__.py +0 -0
- bibexpy/_server/models/project.py +25 -0
- bibexpy/_server/routers/__init__.py +0 -0
- bibexpy/_server/routers/audit.py +65 -0
- bibexpy/_server/routers/convert.py +101 -0
- bibexpy/_server/routers/disambiguate.py +177 -0
- bibexpy/_server/routers/downloads.py +26 -0
- bibexpy/_server/routers/enrich.py +42 -0
- bibexpy/_server/routers/export.py +116 -0
- bibexpy/_server/routers/export_folder.py +97 -0
- bibexpy/_server/routers/filter.py +131 -0
- bibexpy/_server/routers/jobs.py +72 -0
- bibexpy/_server/routers/merge.py +437 -0
- bibexpy/_server/routers/prepare.py +241 -0
- bibexpy/_server/routers/projects.py +49 -0
- bibexpy/_server/routers/quality.py +288 -0
- bibexpy/_server/routers/records.py +204 -0
- bibexpy/_server/routers/report.py +111 -0
- bibexpy/_server/routers/settings.py +383 -0
- bibexpy/_server/routers/system.py +209 -0
- bibexpy/_server/routers/tools.py +257 -0
- bibexpy/_server/routers/upload.py +110 -0
- bibexpy/_server/services/__init__.py +0 -0
- bibexpy/_server/services/analyses.py +364 -0
- bibexpy/_server/services/audit.py +340 -0
- bibexpy/_server/services/bibex_adapter.py +47 -0
- bibexpy/_server/services/bibtex_writer.py +104 -0
- bibexpy/_server/services/converter.py +205 -0
- bibexpy/_server/services/disambiguation/__init__.py +19 -0
- bibexpy/_server/services/disambiguation/blocking.py +581 -0
- bibexpy/_server/services/disambiguation/cache.py +47 -0
- bibexpy/_server/services/disambiguation/deepseek_client.py +203 -0
- bibexpy/_server/services/disambiguation/orcid.py +261 -0
- bibexpy/_server/services/disambiguation/pipeline.py +985 -0
- bibexpy/_server/services/disambiguation/similarity.py +91 -0
- bibexpy/_server/services/enricher.py +338 -0
- bibexpy/_server/services/exporter.py +112 -0
- bibexpy/_server/services/filter_engine.py +300 -0
- bibexpy/_server/services/merger.py +202 -0
- bibexpy/_server/services/methodology.py +102 -0
- bibexpy/_server/services/report_export.py +300 -0
- bibexpy/_server/services/ris_writer.py +62 -0
- bibexpy/_server/services/smart_merger.py +967 -0
- bibexpy/_server/services/storage.py +165 -0
- bibexpy/_web/404/index.html +1 -0
- bibexpy/_web/404.html +1 -0
- bibexpy/_web/_next/static/chunks/117-7ad5186126fa076d.js +2 -0
- bibexpy/_web/_next/static/chunks/156-75beffb8ae92a7f3.js +1 -0
- bibexpy/_web/_next/static/chunks/169-301c04fcec22686f.js +4 -0
- bibexpy/_web/_next/static/chunks/2-ecc1c36a5632ac61.js +1 -0
- bibexpy/_web/_next/static/chunks/244-be343e0f8aa00fb5.js +1 -0
- bibexpy/_web/_next/static/chunks/367-b7457c2b95f6932b.js +1 -0
- bibexpy/_web/_next/static/chunks/382-9cd163eed632e241.js +1 -0
- bibexpy/_web/_next/static/chunks/392-afa8bfa4c1a9893d.js +1 -0
- bibexpy/_web/_next/static/chunks/507-63607ded9f83c1aa.js +1 -0
- bibexpy/_web/_next/static/chunks/624-cae565632f47217d.js +1 -0
- bibexpy/_web/_next/static/chunks/739-a00c6b9c0f11813e.js +1 -0
- bibexpy/_web/_next/static/chunks/862-8e1bd5f93c082c02.js +1 -0
- bibexpy/_web/_next/static/chunks/app/_not-found/page-873ba59b5eb7c342.js +1 -0
- bibexpy/_web/_next/static/chunks/app/layout-0d5fc68ac8971a04.js +1 -0
- bibexpy/_web/_next/static/chunks/app/page-cf2bea5edc74459a.js +1 -0
- bibexpy/_web/_next/static/chunks/app/projects/[id]/convert/page-ab6dd645ae113b64.js +1 -0
- bibexpy/_web/_next/static/chunks/app/projects/[id]/disambiguate/page-dd98482cc47344e9.js +1 -0
- bibexpy/_web/_next/static/chunks/app/projects/[id]/enrich/page-4727e431468514e9.js +1 -0
- bibexpy/_web/_next/static/chunks/app/projects/[id]/export/page-f9005d164bb22cb0.js +1 -0
- bibexpy/_web/_next/static/chunks/app/projects/[id]/layout-07755fda55b3ae1f.js +1 -0
- bibexpy/_web/_next/static/chunks/app/projects/[id]/merge/page-45b95318ea7beccf.js +1 -0
- bibexpy/_web/_next/static/chunks/app/projects/[id]/records/page-bfad80457da9eb0b.js +1 -0
- bibexpy/_web/_next/static/chunks/app/projects/[id]/report/page-f05767e74158e995.js +1 -0
- bibexpy/_web/_next/static/chunks/app/projects/[id]/upload/page-8df78ca9cdecbcb8.js +1 -0
- bibexpy/_web/_next/static/chunks/app/projects/page-99960711ac6a13e9.js +1 -0
- bibexpy/_web/_next/static/chunks/app/settings/page-002df809d6c5a227.js +1 -0
- bibexpy/_web/_next/static/chunks/app/tools/page-27eee1c6a590859f.js +1 -0
- bibexpy/_web/_next/static/chunks/fd9d1056-f2718be92181f426.js +1 -0
- bibexpy/_web/_next/static/chunks/framework-f66176bb897dc684.js +1 -0
- bibexpy/_web/_next/static/chunks/main-app-d138a6e2f8c847f6.js +1 -0
- bibexpy/_web/_next/static/chunks/main-c4b9ddbf514503ef.js +1 -0
- bibexpy/_web/_next/static/chunks/pages/_app-72b849fbd24ac258.js +1 -0
- bibexpy/_web/_next/static/chunks/pages/_error-7ba65e1336b92748.js +1 -0
- bibexpy/_web/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- bibexpy/_web/_next/static/chunks/webpack-c81f7fd28659d64f.js +1 -0
- bibexpy/_web/_next/static/css/1c4638f3e39cf127.css +3 -0
- bibexpy/_web/_next/static/ypx2IQAkZiSaFiKWnzZGB/_buildManifest.js +1 -0
- bibexpy/_web/_next/static/ypx2IQAkZiSaFiKWnzZGB/_ssgManifest.js +1 -0
- bibexpy/_web/images/PROMPTS.md +83 -0
- bibexpy/_web/images/about-illustration.png +0 -0
- bibexpy/_web/images/authors/alperen-sahin.jpg +0 -0
- bibexpy/_web/images/authors/burak-can-kara.jpg +0 -0
- bibexpy/_web/images/authors/taskin-dirsehan.jpg +0 -0
- bibexpy/_web/images/bibexpy-logo-full.png +0 -0
- bibexpy/_web/images/bibexpy-logo-header.png +0 -0
- bibexpy/_web/images/bibexpy-logo-in.png +0 -0
- bibexpy/_web/images/bibexpy-logo.webp +0 -0
- bibexpy/_web/images/hero-illustration.png +0 -0
- bibexpy/_web/images/loader.gif +0 -0
- bibexpy/_web/images/workflow-diagram.png +0 -0
- bibexpy/_web/index.html +1 -0
- bibexpy/_web/index.txt +11 -0
- bibexpy/_web/projects/_/convert/index.html +1 -0
- bibexpy/_web/projects/_/convert/index.txt +12 -0
- bibexpy/_web/projects/_/disambiguate/index.html +1 -0
- bibexpy/_web/projects/_/disambiguate/index.txt +12 -0
- bibexpy/_web/projects/_/enrich/index.html +1 -0
- bibexpy/_web/projects/_/enrich/index.txt +12 -0
- bibexpy/_web/projects/_/export/index.html +1 -0
- bibexpy/_web/projects/_/export/index.txt +12 -0
- bibexpy/_web/projects/_/merge/index.html +1 -0
- bibexpy/_web/projects/_/merge/index.txt +12 -0
- bibexpy/_web/projects/_/records/index.html +1 -0
- bibexpy/_web/projects/_/records/index.txt +12 -0
- bibexpy/_web/projects/_/report/index.html +1 -0
- bibexpy/_web/projects/_/report/index.txt +12 -0
- bibexpy/_web/projects/_/upload/index.html +1 -0
- bibexpy/_web/projects/_/upload/index.txt +12 -0
- bibexpy/_web/projects/index.html +1 -0
- bibexpy/_web/projects/index.txt +11 -0
- bibexpy/_web/settings/index.html +1 -0
- bibexpy/_web/settings/index.txt +11 -0
- bibexpy/_web/tools/README.md +65 -0
- bibexpy/_web/tools/bibexcel.svg +6 -0
- bibexpy/_web/tools/bibliometrix.png +0 -0
- bibexpy/_web/tools/biblioshiny.svg +12 -0
- bibexpy/_web/tools/citavi.svg +6 -0
- bibexpy/_web/tools/citespace.svg +7 -0
- bibexpy/_web/tools/citnetexplorer.svg +8 -0
- bibexpy/_web/tools/endnote.svg +6 -0
- bibexpy/_web/tools/excel.svg +1 -0
- bibexpy/_web/tools/gephi.svg +66 -0
- bibexpy/_web/tools/histcite.svg +7 -0
- bibexpy/_web/tools/index.html +1 -0
- bibexpy/_web/tools/index.txt +11 -0
- bibexpy/_web/tools/jabref.svg +122 -0
- bibexpy/_web/tools/latex.svg +1 -0
- bibexpy/_web/tools/mendeley.svg +1 -0
- bibexpy/_web/tools/openrefine.svg +15 -0
- bibexpy/_web/tools/overleaf.svg +1 -0
- bibexpy/_web/tools/papers.svg +7 -0
- bibexpy/_web/tools/powerbi.svg +1 -0
- bibexpy/_web/tools/python.svg +1 -0
- bibexpy/_web/tools/r.svg +1 -0
- bibexpy/_web/tools/refworks.svg +5 -0
- bibexpy/_web/tools/scite.svg +5 -0
- bibexpy/_web/tools/tableau.svg +1 -0
- bibexpy/_web/tools/vosviewer.png +0 -0
- bibexpy/_web/tools/zotero.svg +1 -0
- bibexpy/cli.py +242 -0
- bibexpy-2.0.0.dist-info/METADATA +105 -0
- bibexpy-2.0.0.dist-info/RECORD +171 -0
- bibexpy-2.0.0.dist-info/WHEEL +5 -0
- bibexpy-2.0.0.dist-info/entry_points.txt +2 -0
- bibexpy-2.0.0.dist-info/licenses/LICENSE +674 -0
- bibexpy-2.0.0.dist-info/top_level.txt +2 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"""Disk tabanlı basit proje deposu.
|
|
2
|
+
|
|
3
|
+
Yapı:
|
|
4
|
+
storage/
|
|
5
|
+
<project_id>/
|
|
6
|
+
meta.json
|
|
7
|
+
raw/ # yüklenen ham dosyalar
|
|
8
|
+
processed/ # CSV/TXT -> XLSX dönüşüm çıktıları
|
|
9
|
+
merged/ # birleştirme sonuçları
|
|
10
|
+
exports/ # WoS/BibTeX/RIS/... çıktıları
|
|
11
|
+
jobs.sqlite # arka plan iş tablosu (Faz 3'te)
|
|
12
|
+
snapshots/ # disambiguation öncesi anlık görüntüler (Faz 7)
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
import json
|
|
18
|
+
import uuid
|
|
19
|
+
from datetime import datetime, timezone
|
|
20
|
+
from pathlib import Path
|
|
21
|
+
from typing import Optional
|
|
22
|
+
|
|
23
|
+
from config import settings
|
|
24
|
+
from models.project import ProjectMeta
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
SUBDIRS = ("raw", "processed", "merged", "exports", "snapshots")
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def _now() -> datetime:
|
|
31
|
+
return datetime.now(timezone.utc)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def project_dir(project_id: str) -> Path:
|
|
35
|
+
return settings.storage_path / project_id
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def meta_path(project_id: str) -> Path:
|
|
39
|
+
return project_dir(project_id) / "meta.json"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def ensure_project_layout(project_id: str) -> Path:
|
|
43
|
+
root = project_dir(project_id)
|
|
44
|
+
root.mkdir(parents=True, exist_ok=True)
|
|
45
|
+
for sub in SUBDIRS:
|
|
46
|
+
(root / sub).mkdir(exist_ok=True)
|
|
47
|
+
return root
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def create_project(name: str, description: Optional[str] = None) -> ProjectMeta:
|
|
51
|
+
pid = uuid.uuid4().hex[:12]
|
|
52
|
+
ensure_project_layout(pid)
|
|
53
|
+
meta = ProjectMeta(
|
|
54
|
+
id=pid,
|
|
55
|
+
name=name.strip(),
|
|
56
|
+
description=(description or "").strip() or None,
|
|
57
|
+
created_at=_now(),
|
|
58
|
+
updated_at=_now(),
|
|
59
|
+
)
|
|
60
|
+
_write_meta(meta)
|
|
61
|
+
return meta
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def _write_meta(meta: ProjectMeta) -> None:
|
|
65
|
+
meta_path(meta.id).write_text(meta.model_dump_json(indent=2), encoding="utf-8")
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def _read_meta(project_id: str) -> Optional[ProjectMeta]:
|
|
69
|
+
p = meta_path(project_id)
|
|
70
|
+
if not p.exists():
|
|
71
|
+
return None
|
|
72
|
+
data = json.loads(p.read_text(encoding="utf-8"))
|
|
73
|
+
return ProjectMeta.model_validate(data)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def list_projects() -> list[ProjectMeta]:
|
|
77
|
+
out: list[ProjectMeta] = []
|
|
78
|
+
for child in settings.storage_path.iterdir():
|
|
79
|
+
if not child.is_dir():
|
|
80
|
+
continue
|
|
81
|
+
meta = _read_meta(child.name)
|
|
82
|
+
if meta is None:
|
|
83
|
+
continue
|
|
84
|
+
_refresh_size(meta)
|
|
85
|
+
out.append(meta)
|
|
86
|
+
out.sort(key=lambda m: m.updated_at, reverse=True)
|
|
87
|
+
return out
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def get_project(project_id: str) -> Optional[ProjectMeta]:
|
|
91
|
+
meta = _read_meta(project_id)
|
|
92
|
+
if meta is None:
|
|
93
|
+
return None
|
|
94
|
+
_refresh_size(meta)
|
|
95
|
+
return meta
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def _refresh_size(meta: ProjectMeta) -> None:
|
|
99
|
+
raw = project_dir(meta.id) / "raw"
|
|
100
|
+
if not raw.exists():
|
|
101
|
+
meta.file_count = 0
|
|
102
|
+
meta.raw_size_bytes = 0
|
|
103
|
+
return
|
|
104
|
+
files = [f for f in raw.iterdir() if f.is_file()]
|
|
105
|
+
meta.file_count = len(files)
|
|
106
|
+
meta.raw_size_bytes = sum(f.stat().st_size for f in files)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
def _robust_rmtree(path: Path) -> None:
|
|
110
|
+
"""Windows'ta salt-okunur bit ve geçici dosya kilitlerine dayanıklı silme.
|
|
111
|
+
|
|
112
|
+
Çıplak shutil.rmtree, Windows'ta açık/salt-okunur bir dosya olduğunda
|
|
113
|
+
PermissionError (WinError 5/32) fırlatır. Burada salt-okunur bit kaldırılır
|
|
114
|
+
ve kısa beklemelerle birkaç kez denenir.
|
|
115
|
+
"""
|
|
116
|
+
import os
|
|
117
|
+
import shutil
|
|
118
|
+
import stat
|
|
119
|
+
import time
|
|
120
|
+
|
|
121
|
+
def _on_error(func, p, _exc):
|
|
122
|
+
try:
|
|
123
|
+
os.chmod(p, stat.S_IWRITE)
|
|
124
|
+
func(p)
|
|
125
|
+
except Exception:
|
|
126
|
+
pass
|
|
127
|
+
|
|
128
|
+
last_exc: Exception | None = None
|
|
129
|
+
for _ in range(3):
|
|
130
|
+
try:
|
|
131
|
+
shutil.rmtree(path, onerror=_on_error)
|
|
132
|
+
except Exception as e: # son denemede yeniden fırlatılır
|
|
133
|
+
last_exc = e
|
|
134
|
+
if not path.exists():
|
|
135
|
+
return
|
|
136
|
+
time.sleep(0.3)
|
|
137
|
+
if path.exists():
|
|
138
|
+
raise last_exc or OSError(f"Klasör silinemedi: {path}")
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
def delete_project(project_id: str) -> bool:
|
|
142
|
+
root = project_dir(project_id)
|
|
143
|
+
if not root.exists():
|
|
144
|
+
return False
|
|
145
|
+
_robust_rmtree(root)
|
|
146
|
+
return True
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
def touch_project(project_id: str) -> None:
|
|
150
|
+
meta = _read_meta(project_id)
|
|
151
|
+
if meta is None:
|
|
152
|
+
return
|
|
153
|
+
meta.updated_at = _now()
|
|
154
|
+
_write_meta(meta)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
def detect_file_kind(filename: str) -> str:
|
|
158
|
+
name = filename.lower()
|
|
159
|
+
if name.endswith(".csv"):
|
|
160
|
+
return "scopus_csv"
|
|
161
|
+
if name.endswith(".txt") or name.endswith(".isi"):
|
|
162
|
+
return "wos_txt"
|
|
163
|
+
if name.endswith(".xlsx") or name.endswith(".xls"):
|
|
164
|
+
return "xlsx"
|
|
165
|
+
return "unknown"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/images/loader.gif"/><link rel="preload" as="image" href="/images/bibexpy-logo-header.png"/><link rel="preload" as="image" href="/images/bibexpy-logo-in.png"/><link rel="stylesheet" href="/_next/static/css/1c4638f3e39cf127.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c81f7fd28659d64f.js"/><script src="/_next/static/chunks/fd9d1056-f2718be92181f426.js" async=""></script><script src="/_next/static/chunks/117-7ad5186126fa076d.js" async=""></script><script src="/_next/static/chunks/main-app-d138a6e2f8c847f6.js" async=""></script><script src="/_next/static/chunks/156-75beffb8ae92a7f3.js" async=""></script><script src="/_next/static/chunks/244-be343e0f8aa00fb5.js" async=""></script><script src="/_next/static/chunks/2-ecc1c36a5632ac61.js" async=""></script><script src="/_next/static/chunks/app/layout-0d5fc68ac8971a04.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>BibexPy V2</title><meta name="description" content="Harmonizing the Bibliometric Symphony of Scopus and Web of Science"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen flex flex-col bg-bg"><div class="transition-opacity duration-300 opacity-100"><div role="status" aria-live="polite" aria-busy="true" class="fixed inset-0 z-[100] flex items-center justify-center bg-ink/20 backdrop-blur-sm p-4"><div class="flex flex-col items-center justify-center gap-4 rounded-2xl bg-white px-10 py-8 shadow-2xl ring-1 ring-black/5"><img src="/images/loader.gif" alt="BibexPy" width="112" height="112" class="h-24 w-24 select-none object-contain" draggable="false"/></div><span class="sr-only">Loading…</span></div></div><header class="border-b border-slate-300/70 bg-[#f7f9fc] text-slate-900 shadow-[0_1px_0_rgba(255,255,255,0.04)]"><div class="mx-auto flex max-w-7xl flex-wrap items-stretch gap-3 px-4 py-3 sm:px-6"><div class="flex min-w-0 items-stretch overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-[0_4px_14px_-12px_rgba(15,23,42,0.25)] flex-1 justify-between"><a aria-label="BibexPy — ana sayfa" class="group flex shrink-0 items-center border-r border-slate-200 px-4 py-2 transition hover:bg-slate-50/70" href="/"><img src="/images/bibexpy-logo-header.png" alt="BibexPy — V2.0.0 Helium" draggable="false" class="h-full max-h-32 w-auto select-none transition group-hover:opacity-90"/></a><div class="flex min-w-0 flex-col"><div class="flex flex-1 items-stretch justify-center gap-2 px-4 pt-3 pb-2"><a class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]" href="/"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition bg-[#0c2847] text-cyan-200 group-hover:bg-[#173553] group-hover:text-cyan-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house h-7 w-7"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">Home</span></a><a class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]" href="/projects/"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition bg-[#0c2847] text-cyan-200 group-hover:bg-[#173553] group-hover:text-cyan-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-kanban h-7 w-7"><path d="M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"></path><path d="M8 10v4"></path><path d="M12 10v2"></path><path d="M16 10v6"></path></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">Projects</span></a><a class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]" href="/tools/"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition bg-[#0c2847] text-cyan-200 group-hover:bg-[#173553] group-hover:text-cyan-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wrench h-7 w-7"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">Tools</span></a></div><div class="border-t border-slate-200 px-3 py-1.5 text-center text-[10px] font-bold uppercase tracking-[0.18em] text-slate-400">Workspaces</div></div><div class="flex min-w-0 flex-col"><div class="flex flex-1 items-stretch justify-center gap-2 px-4 pt-3 pb-2"><a class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]" href="/settings/"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition bg-[#0c2847] text-cyan-200 group-hover:bg-[#173553] group-hover:text-cyan-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-7 w-7"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">Settings</span></a></div><div class="border-t border-slate-200 px-3 py-1.5 text-center text-[10px] font-bold uppercase tracking-[0.18em] text-slate-400">System</div></div><div class="flex min-w-0 flex-col"><div class="flex flex-1 items-stretch justify-center gap-2 px-4 pt-3 pb-2"><a href="/docs" target="_blank" rel="noreferrer" class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition bg-[#0c2847] text-cyan-200 group-hover:bg-[#173553] group-hover:text-cyan-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml h-7 w-7"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">API<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link h-3.5 w-3.5 text-slate-400"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg></span></a><a href="https://github.com/bcankara/BibexPy" target="_blank" rel="noreferrer" class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition bg-[#0c2847] text-cyan-200 group-hover:bg-[#173553] group-hover:text-cyan-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open h-7 w-7"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">Source<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link h-3.5 w-3.5 text-slate-400"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg></span></a></div><div class="border-t border-slate-200 px-3 py-1.5 text-center text-[10px] font-bold uppercase tracking-[0.18em] text-slate-400">Resources</div></div><div class="flex min-w-0 flex-col"><div class="flex flex-1 items-stretch justify-center gap-2 px-4 pt-3 pb-2"><button type="button" class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition bg-slate-100 ring-1 ring-slate-200 shadow-[0_4px_14px_-10px_rgba(15,23,42,0.3)]"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition ring-2 ring-cyan-500 shadow-[0_6px_18px_-8px_rgba(12,40,71,0.55)]"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="h-full w-full" preserveAspectRatio="xMidYMid slice" aria-label="English" role="img"><clipPath id="gb-flag-clip"><rect width="24" height="24"></rect></clipPath><g clip-path="url(#gb-flag-clip)"><rect width="24" height="24" fill="#012169"></rect><path d="M0,0 L24,24 M24,0 L0,24" stroke="#fff" stroke-width="5"></path><path d="M0,0 L24,24 M24,0 L0,24" stroke="#C8102E" stroke-width="2"></path><path d="M12,0 V24 M0,12 H24" stroke="#fff" stroke-width="8"></path><path d="M12,0 V24 M0,12 H24" stroke="#C8102E" stroke-width="5"></path></g></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-900">English</span></button><button type="button" class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition ring-1 ring-slate-300/70 group-hover:ring-slate-400"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="h-full w-full" preserveAspectRatio="xMidYMid slice" aria-label="Türkçe" role="img"><rect width="24" height="24" fill="#E30A17"></rect><circle cx="8.5" cy="12" r="5" fill="#fff"></circle><circle cx="10" cy="12" r="4" fill="#E30A17"></circle><polygon fill="#fff" points="12.8,12 14.32,11.51 14.32,9.91 15.26,11.2 16.78,10.71 15.84,12 16.78,13.29 15.26,12.8 14.32,14.09 14.32,12.49"></polygon></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">Türkçe</span></button></div><div class="border-t border-slate-200 px-3 py-1.5 text-center text-[10px] font-bold uppercase tracking-[0.18em] text-slate-400">Language</div></div></div></div></header><main class="flex-1"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div></main><footer class="relative border-t border-slate-200 bg-gradient-to-b from-white to-[#eef2f8]"><div aria-hidden="true" class="pointer-events-none absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-cyan-400/60 to-transparent"></div><div class="mx-auto max-w-6xl px-6 py-10"><div class="grid grid-cols-2 gap-x-8 gap-y-9 md:grid-cols-[1.7fr_1fr_1fr]"><div class="col-span-2 md:col-span-1"><a aria-label="BibexPy" class="block w-full max-w-xs transition hover:opacity-90" href="/"><img src="/images/bibexpy-logo-in.png" alt="BibexPy — V2.0.0 Helium — Bibliometrics Experience with Python" draggable="false" class="h-auto w-full select-none"/></a><p class="mt-4 max-w-xs text-xs leading-relaxed text-slate-500">Self-hosted, reproducible bibliometric data preparation for Web of Science & Scopus.</p><div class="mt-4 flex items-center gap-1.5"><a href="https://github.com/bcankara/BibexPy" target="_blank" rel="noreferrer" aria-label="GitHub" title="GitHub" class="inline-flex h-8 w-8 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-500 transition hover:-translate-y-0.5 hover:border-cyan-300 hover:text-cyan-700 hover:shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github h-4 w-4"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg></a><a href="https://www.youtube.com/@BibexPy" target="_blank" rel="noreferrer" aria-label="YouTube" title="YouTube" class="inline-flex h-8 w-8 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-500 transition hover:-translate-y-0.5 hover:border-cyan-300 hover:text-cyan-700 hover:shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-youtube h-4 w-4"><path d="M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17"></path><path d="m10 15 5-3-5-3z"></path></svg></a><a href="https://twitter.com/BibexPy" target="_blank" rel="noreferrer" aria-label="X (Twitter)" title="X (Twitter)" class="inline-flex h-8 w-8 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-500 transition hover:-translate-y-0.5 hover:border-cyan-300 hover:text-cyan-700 hover:shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-twitter h-4 w-4"><path d="M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"></path></svg></a><a href="https://www.instagram.com/bibexpy/" target="_blank" rel="noreferrer" aria-label="Instagram" title="Instagram" class="inline-flex h-8 w-8 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-500 transition hover:-translate-y-0.5 hover:border-cyan-300 hover:text-cyan-700 hover:shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-instagram h-4 w-4"><rect width="20" height="20" x="2" y="2" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" x2="17.51" y1="6.5" y2="6.5"></line></svg></a></div></div><div><h3 class="text-[11px] font-bold uppercase tracking-[0.14em] text-slate-400">Resources</h3><ul class="mt-3.5 space-y-2.5"><li><a href="/docs" target="_blank" rel="noreferrer" class="group inline-flex items-center gap-2 text-xs font-medium text-slate-500 transition hover:text-cyan-700"><span class="text-slate-400 transition group-hover:text-cyan-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-life-buoy h-3.5 w-3.5"><circle cx="12" cy="12" r="10"></circle><path d="m4.93 4.93 4.24 4.24"></path><path d="m14.83 9.17 4.24-4.24"></path><path d="m14.83 14.83 4.24 4.24"></path><path d="m9.17 14.83-4.24 4.24"></path><circle cx="12" cy="12" r="4"></circle></svg></span><span>Documentation</span></a></li><li><a class="group inline-flex items-center gap-2 text-xs font-medium text-slate-500 transition hover:text-cyan-700" href="/tools/"><span class="text-slate-400 transition group-hover:text-cyan-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wrench h-3.5 w-3.5"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg></span><span>Tools</span></a></li><li><a class="group inline-flex items-center gap-2 text-xs font-medium text-slate-500 transition hover:text-cyan-700" href="/settings/"><span class="text-slate-400 transition group-hover:text-cyan-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-3.5 w-3.5"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg></span><span>Settings</span></a></li></ul></div><div><h3 class="text-[11px] font-bold uppercase tracking-[0.14em] text-slate-400">Project</h3><ul class="mt-3.5 space-y-2.5"><li><a href="https://doi.org/10.1016/j.softx.2025.102098" target="_blank" rel="noreferrer" class="group inline-flex items-center gap-2 text-xs font-medium text-slate-500 transition hover:text-cyan-700"><span class="text-slate-400 transition group-hover:text-cyan-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text h-3.5 w-3.5"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg></span><span>Paper · SoftwareX</span></a></li><li><a href="https://bibexpy.com" target="_blank" rel="noreferrer" class="group inline-flex items-center gap-2 text-xs font-medium text-slate-500 transition hover:text-cyan-700"><span class="text-slate-400 transition group-hover:text-cyan-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe h-3.5 w-3.5"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg></span><span>Website</span></a></li><li><a href="mailto:info@bibexpy.com" target="_blank" rel="noreferrer" class="group inline-flex items-center gap-2 text-xs font-medium text-slate-500 transition hover:text-cyan-700"><span class="text-slate-400 transition group-hover:text-cyan-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail h-3.5 w-3.5"><rect width="20" height="16" x="2" y="4" rx="2"></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg></span><span>Contact</span></a></li></ul></div></div><div class="mt-9 flex flex-col items-start justify-between gap-3 border-t border-slate-200/70 pt-5 text-[11px] text-slate-400 sm:flex-row sm:items-center"><span>© 2025 BibexPy ·<!-- --> <a href="https://www.gnu.org/licenses/gpl-3.0" target="_blank" rel="noreferrer" class="font-medium text-slate-500 transition hover:text-cyan-700">GPL-3.0-or-later</a> <!-- -->· <!-- -->All rights reserved.</span><a href="https://doi.org/10.1016/j.softx.2025.102098" target="_blank" rel="noreferrer" class="group inline-flex items-center gap-1.5 font-semibold text-slate-500 transition hover:text-cyan-700">Kara, Şahin & Dirsehan (2025) · SoftwareX<span class="inline-block text-cyan-600 transition group-hover:translate-x-0.5">Cite →</span></a></div></div></footer><script src="/_next/static/chunks/webpack-c81f7fd28659d64f.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/1c4638f3e39cf127.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[4707,[],\"\"]\n5:I[6423,[],\"\"]\n6:I[1514,[\"156\",\"static/chunks/156-75beffb8ae92a7f3.js\",\"244\",\"static/chunks/244-be343e0f8aa00fb5.js\",\"2\",\"static/chunks/2-ecc1c36a5632ac61.js\",\"185\",\"static/chunks/app/layout-0d5fc68ac8971a04.js\"],\"InitialLoadGate\"]\n7:I[3554,[\"156\",\"static/chunks/156-75beffb8ae92a7f3.js\",\"244\",\"static/chunks/244-be343e0f8aa00fb5.js\",\"2\",\"static/chunks/2-ecc1c36a5632ac61.js\",\"185\",\"static/chunks/app/layout-0d5fc68ac8971a04.js\"],\"I18nProvider\"]\n8:I[5499,[\"156\",\"static/chunks/156-75beffb8ae92a7f3.js\",\"244\",\"static/chunks/244-be343e0f8aa00fb5.js\",\"2\",\"static/chunks/2-ecc1c36a5632ac61.js\",\"185\",\"static/chunks/app/layout-0d5fc68ac8971a04.js\"],\"DialogProvider\"]\n9:I[7002,[\"156\",\"static/chunks/156-75beffb8ae92a7f3.js\",\"244\",\"static/chunks/244-be343e0f8aa00fb5.js\",\"2\",\"static/chunks/2-ecc1c36a5632ac61.js\",\"185\",\"static/chunks/app/layout-0d5fc68ac8971a04.js\"],\"AppShell\"]\nf:I[1060,[],\"\"]\na:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\nb:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\nc:{\"display\":\"inline-block\"}\nd:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n10:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"ypx2IQAkZiSaFiKWnzZGB\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\",\"\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1c4638f3e39cf127.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-screen flex flex-col bg-bg\",\"children\":[[\"$\",\"$L6\",null,{}],[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$a\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$b\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$c\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$d\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Le\"],\"globalErrorComponent\":\"$f\",\"missingSlots\":\"$W10\"}]\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"BibexPy V2\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Harmonizing the Bibliometric Symphony of Scopus and Web of Science\"}]]\n3:null\n"])</script></body></html>
|
bibexpy/_web/404.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/images/loader.gif"/><link rel="preload" as="image" href="/images/bibexpy-logo-header.png"/><link rel="preload" as="image" href="/images/bibexpy-logo-in.png"/><link rel="stylesheet" href="/_next/static/css/1c4638f3e39cf127.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c81f7fd28659d64f.js"/><script src="/_next/static/chunks/fd9d1056-f2718be92181f426.js" async=""></script><script src="/_next/static/chunks/117-7ad5186126fa076d.js" async=""></script><script src="/_next/static/chunks/main-app-d138a6e2f8c847f6.js" async=""></script><script src="/_next/static/chunks/156-75beffb8ae92a7f3.js" async=""></script><script src="/_next/static/chunks/244-be343e0f8aa00fb5.js" async=""></script><script src="/_next/static/chunks/2-ecc1c36a5632ac61.js" async=""></script><script src="/_next/static/chunks/app/layout-0d5fc68ac8971a04.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>BibexPy V2</title><meta name="description" content="Harmonizing the Bibliometric Symphony of Scopus and Web of Science"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen flex flex-col bg-bg"><div class="transition-opacity duration-300 opacity-100"><div role="status" aria-live="polite" aria-busy="true" class="fixed inset-0 z-[100] flex items-center justify-center bg-ink/20 backdrop-blur-sm p-4"><div class="flex flex-col items-center justify-center gap-4 rounded-2xl bg-white px-10 py-8 shadow-2xl ring-1 ring-black/5"><img src="/images/loader.gif" alt="BibexPy" width="112" height="112" class="h-24 w-24 select-none object-contain" draggable="false"/></div><span class="sr-only">Loading…</span></div></div><header class="border-b border-slate-300/70 bg-[#f7f9fc] text-slate-900 shadow-[0_1px_0_rgba(255,255,255,0.04)]"><div class="mx-auto flex max-w-7xl flex-wrap items-stretch gap-3 px-4 py-3 sm:px-6"><div class="flex min-w-0 items-stretch overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-[0_4px_14px_-12px_rgba(15,23,42,0.25)] flex-1 justify-between"><a aria-label="BibexPy — ana sayfa" class="group flex shrink-0 items-center border-r border-slate-200 px-4 py-2 transition hover:bg-slate-50/70" href="/"><img src="/images/bibexpy-logo-header.png" alt="BibexPy — V2.0.0 Helium" draggable="false" class="h-full max-h-32 w-auto select-none transition group-hover:opacity-90"/></a><div class="flex min-w-0 flex-col"><div class="flex flex-1 items-stretch justify-center gap-2 px-4 pt-3 pb-2"><a class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]" href="/"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition bg-[#0c2847] text-cyan-200 group-hover:bg-[#173553] group-hover:text-cyan-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house h-7 w-7"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">Home</span></a><a class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]" href="/projects/"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition bg-[#0c2847] text-cyan-200 group-hover:bg-[#173553] group-hover:text-cyan-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-kanban h-7 w-7"><path d="M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"></path><path d="M8 10v4"></path><path d="M12 10v2"></path><path d="M16 10v6"></path></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">Projects</span></a><a class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]" href="/tools/"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition bg-[#0c2847] text-cyan-200 group-hover:bg-[#173553] group-hover:text-cyan-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wrench h-7 w-7"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">Tools</span></a></div><div class="border-t border-slate-200 px-3 py-1.5 text-center text-[10px] font-bold uppercase tracking-[0.18em] text-slate-400">Workspaces</div></div><div class="flex min-w-0 flex-col"><div class="flex flex-1 items-stretch justify-center gap-2 px-4 pt-3 pb-2"><a class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]" href="/settings/"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition bg-[#0c2847] text-cyan-200 group-hover:bg-[#173553] group-hover:text-cyan-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-7 w-7"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">Settings</span></a></div><div class="border-t border-slate-200 px-3 py-1.5 text-center text-[10px] font-bold uppercase tracking-[0.18em] text-slate-400">System</div></div><div class="flex min-w-0 flex-col"><div class="flex flex-1 items-stretch justify-center gap-2 px-4 pt-3 pb-2"><a href="/docs" target="_blank" rel="noreferrer" class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition bg-[#0c2847] text-cyan-200 group-hover:bg-[#173553] group-hover:text-cyan-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml h-7 w-7"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">API<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link h-3.5 w-3.5 text-slate-400"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg></span></a><a href="https://github.com/bcankara/BibexPy" target="_blank" rel="noreferrer" class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition bg-[#0c2847] text-cyan-200 group-hover:bg-[#173553] group-hover:text-cyan-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open h-7 w-7"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">Source<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link h-3.5 w-3.5 text-slate-400"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg></span></a></div><div class="border-t border-slate-200 px-3 py-1.5 text-center text-[10px] font-bold uppercase tracking-[0.18em] text-slate-400">Resources</div></div><div class="flex min-w-0 flex-col"><div class="flex flex-1 items-stretch justify-center gap-2 px-4 pt-3 pb-2"><button type="button" class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition bg-slate-100 ring-1 ring-slate-200 shadow-[0_4px_14px_-10px_rgba(15,23,42,0.3)]"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition ring-2 ring-cyan-500 shadow-[0_6px_18px_-8px_rgba(12,40,71,0.55)]"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="h-full w-full" preserveAspectRatio="xMidYMid slice" aria-label="English" role="img"><clipPath id="gb-flag-clip"><rect width="24" height="24"></rect></clipPath><g clip-path="url(#gb-flag-clip)"><rect width="24" height="24" fill="#012169"></rect><path d="M0,0 L24,24 M24,0 L0,24" stroke="#fff" stroke-width="5"></path><path d="M0,0 L24,24 M24,0 L0,24" stroke="#C8102E" stroke-width="2"></path><path d="M12,0 V24 M0,12 H24" stroke="#fff" stroke-width="8"></path><path d="M12,0 V24 M0,12 H24" stroke="#C8102E" stroke-width="5"></path></g></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-900">English</span></button><button type="button" class="group flex flex-col items-center justify-start gap-2 rounded-lg px-3 py-2.5 text-center transition hover:bg-slate-50 hover:shadow-[0_4px_14px_-10px_rgba(15,23,42,0.4)]"><span class="flex h-14 w-14 items-center justify-center overflow-hidden rounded-xl transition ring-1 ring-slate-300/70 group-hover:ring-slate-400"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="h-full w-full" preserveAspectRatio="xMidYMid slice" aria-label="Türkçe" role="img"><rect width="24" height="24" fill="#E30A17"></rect><circle cx="8.5" cy="12" r="5" fill="#fff"></circle><circle cx="10" cy="12" r="4" fill="#E30A17"></circle><polygon fill="#fff" points="12.8,12 14.32,11.51 14.32,9.91 15.26,11.2 16.78,10.71 15.84,12 16.78,13.29 15.26,12.8 14.32,14.09 14.32,12.49"></polygon></svg></span><span class="inline-flex items-center gap-1 text-[13px] font-bold leading-none text-slate-700 group-hover:text-slate-900">Türkçe</span></button></div><div class="border-t border-slate-200 px-3 py-1.5 text-center text-[10px] font-bold uppercase tracking-[0.18em] text-slate-400">Language</div></div></div></div></header><main class="flex-1"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div></main><footer class="relative border-t border-slate-200 bg-gradient-to-b from-white to-[#eef2f8]"><div aria-hidden="true" class="pointer-events-none absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-cyan-400/60 to-transparent"></div><div class="mx-auto max-w-6xl px-6 py-10"><div class="grid grid-cols-2 gap-x-8 gap-y-9 md:grid-cols-[1.7fr_1fr_1fr]"><div class="col-span-2 md:col-span-1"><a aria-label="BibexPy" class="block w-full max-w-xs transition hover:opacity-90" href="/"><img src="/images/bibexpy-logo-in.png" alt="BibexPy — V2.0.0 Helium — Bibliometrics Experience with Python" draggable="false" class="h-auto w-full select-none"/></a><p class="mt-4 max-w-xs text-xs leading-relaxed text-slate-500">Self-hosted, reproducible bibliometric data preparation for Web of Science & Scopus.</p><div class="mt-4 flex items-center gap-1.5"><a href="https://github.com/bcankara/BibexPy" target="_blank" rel="noreferrer" aria-label="GitHub" title="GitHub" class="inline-flex h-8 w-8 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-500 transition hover:-translate-y-0.5 hover:border-cyan-300 hover:text-cyan-700 hover:shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github h-4 w-4"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg></a><a href="https://www.youtube.com/@BibexPy" target="_blank" rel="noreferrer" aria-label="YouTube" title="YouTube" class="inline-flex h-8 w-8 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-500 transition hover:-translate-y-0.5 hover:border-cyan-300 hover:text-cyan-700 hover:shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-youtube h-4 w-4"><path d="M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17"></path><path d="m10 15 5-3-5-3z"></path></svg></a><a href="https://twitter.com/BibexPy" target="_blank" rel="noreferrer" aria-label="X (Twitter)" title="X (Twitter)" class="inline-flex h-8 w-8 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-500 transition hover:-translate-y-0.5 hover:border-cyan-300 hover:text-cyan-700 hover:shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-twitter h-4 w-4"><path d="M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"></path></svg></a><a href="https://www.instagram.com/bibexpy/" target="_blank" rel="noreferrer" aria-label="Instagram" title="Instagram" class="inline-flex h-8 w-8 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-500 transition hover:-translate-y-0.5 hover:border-cyan-300 hover:text-cyan-700 hover:shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-instagram h-4 w-4"><rect width="20" height="20" x="2" y="2" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" x2="17.51" y1="6.5" y2="6.5"></line></svg></a></div></div><div><h3 class="text-[11px] font-bold uppercase tracking-[0.14em] text-slate-400">Resources</h3><ul class="mt-3.5 space-y-2.5"><li><a href="/docs" target="_blank" rel="noreferrer" class="group inline-flex items-center gap-2 text-xs font-medium text-slate-500 transition hover:text-cyan-700"><span class="text-slate-400 transition group-hover:text-cyan-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-life-buoy h-3.5 w-3.5"><circle cx="12" cy="12" r="10"></circle><path d="m4.93 4.93 4.24 4.24"></path><path d="m14.83 9.17 4.24-4.24"></path><path d="m14.83 14.83 4.24 4.24"></path><path d="m9.17 14.83-4.24 4.24"></path><circle cx="12" cy="12" r="4"></circle></svg></span><span>Documentation</span></a></li><li><a class="group inline-flex items-center gap-2 text-xs font-medium text-slate-500 transition hover:text-cyan-700" href="/tools/"><span class="text-slate-400 transition group-hover:text-cyan-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wrench h-3.5 w-3.5"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg></span><span>Tools</span></a></li><li><a class="group inline-flex items-center gap-2 text-xs font-medium text-slate-500 transition hover:text-cyan-700" href="/settings/"><span class="text-slate-400 transition group-hover:text-cyan-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-3.5 w-3.5"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg></span><span>Settings</span></a></li></ul></div><div><h3 class="text-[11px] font-bold uppercase tracking-[0.14em] text-slate-400">Project</h3><ul class="mt-3.5 space-y-2.5"><li><a href="https://doi.org/10.1016/j.softx.2025.102098" target="_blank" rel="noreferrer" class="group inline-flex items-center gap-2 text-xs font-medium text-slate-500 transition hover:text-cyan-700"><span class="text-slate-400 transition group-hover:text-cyan-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text h-3.5 w-3.5"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg></span><span>Paper · SoftwareX</span></a></li><li><a href="https://bibexpy.com" target="_blank" rel="noreferrer" class="group inline-flex items-center gap-2 text-xs font-medium text-slate-500 transition hover:text-cyan-700"><span class="text-slate-400 transition group-hover:text-cyan-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe h-3.5 w-3.5"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg></span><span>Website</span></a></li><li><a href="mailto:info@bibexpy.com" target="_blank" rel="noreferrer" class="group inline-flex items-center gap-2 text-xs font-medium text-slate-500 transition hover:text-cyan-700"><span class="text-slate-400 transition group-hover:text-cyan-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail h-3.5 w-3.5"><rect width="20" height="16" x="2" y="4" rx="2"></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg></span><span>Contact</span></a></li></ul></div></div><div class="mt-9 flex flex-col items-start justify-between gap-3 border-t border-slate-200/70 pt-5 text-[11px] text-slate-400 sm:flex-row sm:items-center"><span>© 2025 BibexPy ·<!-- --> <a href="https://www.gnu.org/licenses/gpl-3.0" target="_blank" rel="noreferrer" class="font-medium text-slate-500 transition hover:text-cyan-700">GPL-3.0-or-later</a> <!-- -->· <!-- -->All rights reserved.</span><a href="https://doi.org/10.1016/j.softx.2025.102098" target="_blank" rel="noreferrer" class="group inline-flex items-center gap-1.5 font-semibold text-slate-500 transition hover:text-cyan-700">Kara, Şahin & Dirsehan (2025) · SoftwareX<span class="inline-block text-cyan-600 transition group-hover:translate-x-0.5">Cite →</span></a></div></div></footer><script src="/_next/static/chunks/webpack-c81f7fd28659d64f.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/1c4638f3e39cf127.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[4707,[],\"\"]\n5:I[6423,[],\"\"]\n6:I[1514,[\"156\",\"static/chunks/156-75beffb8ae92a7f3.js\",\"244\",\"static/chunks/244-be343e0f8aa00fb5.js\",\"2\",\"static/chunks/2-ecc1c36a5632ac61.js\",\"185\",\"static/chunks/app/layout-0d5fc68ac8971a04.js\"],\"InitialLoadGate\"]\n7:I[3554,[\"156\",\"static/chunks/156-75beffb8ae92a7f3.js\",\"244\",\"static/chunks/244-be343e0f8aa00fb5.js\",\"2\",\"static/chunks/2-ecc1c36a5632ac61.js\",\"185\",\"static/chunks/app/layout-0d5fc68ac8971a04.js\"],\"I18nProvider\"]\n8:I[5499,[\"156\",\"static/chunks/156-75beffb8ae92a7f3.js\",\"244\",\"static/chunks/244-be343e0f8aa00fb5.js\",\"2\",\"static/chunks/2-ecc1c36a5632ac61.js\",\"185\",\"static/chunks/app/layout-0d5fc68ac8971a04.js\"],\"DialogProvider\"]\n9:I[7002,[\"156\",\"static/chunks/156-75beffb8ae92a7f3.js\",\"244\",\"static/chunks/244-be343e0f8aa00fb5.js\",\"2\",\"static/chunks/2-ecc1c36a5632ac61.js\",\"185\",\"static/chunks/app/layout-0d5fc68ac8971a04.js\"],\"AppShell\"]\nf:I[1060,[],\"\"]\na:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\nb:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\nc:{\"display\":\"inline-block\"}\nd:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n10:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"ypx2IQAkZiSaFiKWnzZGB\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\",\"\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1c4638f3e39cf127.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-screen flex flex-col bg-bg\",\"children\":[[\"$\",\"$L6\",null,{}],[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$a\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$b\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$c\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$d\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Le\"],\"globalErrorComponent\":\"$f\",\"missingSlots\":\"$W10\"}]\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"BibexPy V2\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Harmonizing the Bibliometric Symphony of Scopus and Web of Science\"}]]\n3:null\n"])</script></body></html>
|