Crystina
commited on
Commit
Β·
930e2af
1
Parent(s):
d4a44ca
desc
Browse files- DEPLOYMENT.md +0 -213
- README.md +18 -143
DEPLOYMENT.md
DELETED
@@ -1,213 +0,0 @@
|
|
1 |
-
# Deployment Guide
|
2 |
-
|
3 |
-
This guide will help you deploy your multilingual paper database to various hosting platforms.
|
4 |
-
|
5 |
-
## Prerequisites
|
6 |
-
|
7 |
-
Before deploying, ensure you have:
|
8 |
-
- All project files in your local directory
|
9 |
-
- A GitHub account (for most deployment options)
|
10 |
-
- Basic familiarity with command line (optional, depending on method)
|
11 |
-
|
12 |
-
## Option 1: GitHub Pages (Recommended - Free)
|
13 |
-
|
14 |
-
GitHub Pages is perfect for static websites and offers free hosting with a custom domain option.
|
15 |
-
|
16 |
-
### Step 1: Create GitHub Repository
|
17 |
-
1. Go to [GitHub](https://github.com) and sign in
|
18 |
-
2. Click the "+" icon β "New repository"
|
19 |
-
3. Name it `multilingual-paperbase`
|
20 |
-
4. Make it public (required for free GitHub Pages)
|
21 |
-
5. Click "Create repository"
|
22 |
-
|
23 |
-
### Step 2: Upload Your Files
|
24 |
-
```bash
|
25 |
-
# Initialize git in your project folder
|
26 |
-
git init
|
27 |
-
|
28 |
-
# Add all files
|
29 |
-
git add .
|
30 |
-
|
31 |
-
# Commit the files
|
32 |
-
git commit -m "Initial commit"
|
33 |
-
|
34 |
-
# Add your GitHub repository as remote
|
35 |
-
git remote add origin https://github.com/crystina-z/multilingual-paperbase.git
|
36 |
-
|
37 |
-
# Push to GitHub
|
38 |
-
git push -u origin main
|
39 |
-
```
|
40 |
-
|
41 |
-
### Step 3: Enable GitHub Pages
|
42 |
-
1. Go to your repository on GitHub
|
43 |
-
2. Click "Settings" tab
|
44 |
-
3. Scroll down to "Pages" section (in the left sidebar)
|
45 |
-
4. Under "Source", select "Deploy from a branch"
|
46 |
-
5. Choose "main" branch and "/ (root)" folder
|
47 |
-
6. Click "Save"
|
48 |
-
|
49 |
-
### Step 4: Access Your Site
|
50 |
-
Your site will be available at:
|
51 |
-
`https://crystina-z.github.io/multilingual-paperbase`
|
52 |
-
|
53 |
-
**Note**: It may take a few minutes for the site to become available.
|
54 |
-
|
55 |
-
## Option 2: Netlify (Free Tier)
|
56 |
-
|
57 |
-
Netlify offers excellent performance and features like automatic deployments.
|
58 |
-
|
59 |
-
### Method A: Drag & Drop (Easiest)
|
60 |
-
1. Go to [netlify.com](https://netlify.com) and sign up
|
61 |
-
2. Drag your entire project folder to the deploy area
|
62 |
-
3. Your site is instantly live!
|
63 |
-
4. Netlify will give you a random URL (you can customize it)
|
64 |
-
|
65 |
-
### Method B: Connect to Git
|
66 |
-
1. Sign up at [netlify.com](https://netlify.com)
|
67 |
-
2. Click "New site from Git"
|
68 |
-
3. Connect your GitHub account
|
69 |
-
4. Select your repository
|
70 |
-
5. Deploy settings:
|
71 |
-
- Build command: (leave empty)
|
72 |
-
- Publish directory: `.` (root)
|
73 |
-
6. Click "Deploy site"
|
74 |
-
|
75 |
-
## Option 3: Vercel (Free Tier)
|
76 |
-
|
77 |
-
Vercel is great for performance and developer experience.
|
78 |
-
|
79 |
-
### Step 1: Install Vercel CLI
|
80 |
-
```bash
|
81 |
-
npm install -g vercel
|
82 |
-
```
|
83 |
-
|
84 |
-
### Step 2: Deploy
|
85 |
-
```bash
|
86 |
-
# Navigate to your project directory
|
87 |
-
cd multilingual-paperbase
|
88 |
-
|
89 |
-
# Deploy
|
90 |
-
vercel
|
91 |
-
|
92 |
-
# Follow the prompts:
|
93 |
-
# - Link to existing project? No
|
94 |
-
# - Project name: multilingual-paperbase
|
95 |
-
# - Directory: ./
|
96 |
-
```
|
97 |
-
|
98 |
-
### Step 3: Access Your Site
|
99 |
-
Vercel will provide you with a URL like:
|
100 |
-
`https://multilingual-paperbase.vercel.app`
|
101 |
-
|
102 |
-
## Option 4: Firebase Hosting (Free Tier)
|
103 |
-
|
104 |
-
Firebase offers reliable hosting with Google's infrastructure.
|
105 |
-
|
106 |
-
### Step 1: Install Firebase CLI
|
107 |
-
```bash
|
108 |
-
npm install -g firebase-tools
|
109 |
-
```
|
110 |
-
|
111 |
-
### Step 2: Login and Initialize
|
112 |
-
```bash
|
113 |
-
# Login to Firebase
|
114 |
-
firebase login
|
115 |
-
|
116 |
-
# Initialize Firebase in your project
|
117 |
-
firebase init hosting
|
118 |
-
|
119 |
-
# Answer the prompts:
|
120 |
-
# - Use existing project? No
|
121 |
-
# - Project name: multilingual-paperbase
|
122 |
-
# - Public directory: ./
|
123 |
-
# - Configure as single-page app? No
|
124 |
-
# - Overwrite index.html? No
|
125 |
-
```
|
126 |
-
|
127 |
-
### Step 3: Deploy
|
128 |
-
```bash
|
129 |
-
firebase deploy
|
130 |
-
```
|
131 |
-
|
132 |
-
Your site will be available at the URL provided by Firebase.
|
133 |
-
|
134 |
-
## Option 5: Traditional Web Hosting
|
135 |
-
|
136 |
-
If you have a traditional web hosting account:
|
137 |
-
|
138 |
-
1. Upload all files to your web server's public directory
|
139 |
-
2. Ensure `index.html` is in the root directory
|
140 |
-
3. Your site will be available at your domain
|
141 |
-
|
142 |
-
## Custom Domain Setup
|
143 |
-
|
144 |
-
### GitHub Pages
|
145 |
-
1. Go to repository Settings β Pages
|
146 |
-
2. Under "Custom domain", enter your domain
|
147 |
-
3. Add a CNAME record pointing to `YOUR_USERNAME.github.io`
|
148 |
-
4. Create a `CNAME` file in your repository with your domain name
|
149 |
-
|
150 |
-
### Netlify
|
151 |
-
1. Go to Site settings β Domain management
|
152 |
-
2. Click "Add custom domain"
|
153 |
-
3. Follow the DNS configuration instructions
|
154 |
-
|
155 |
-
### Vercel
|
156 |
-
1. Go to your project dashboard
|
157 |
-
2. Click "Settings" β "Domains"
|
158 |
-
3. Add your domain and configure DNS
|
159 |
-
|
160 |
-
## Post-Deployment Checklist
|
161 |
-
|
162 |
-
After deploying, verify:
|
163 |
-
|
164 |
-
- [ ] All pages load correctly
|
165 |
-
- [ ] Search functionality works
|
166 |
-
- [ ] Filters are working
|
167 |
-
- [ ] Mobile responsiveness
|
168 |
-
- [ ] No console errors
|
169 |
-
- [ ] Images and assets load properly
|
170 |
-
|
171 |
-
## Troubleshooting
|
172 |
-
|
173 |
-
### Common Issues
|
174 |
-
|
175 |
-
**Site not loading:**
|
176 |
-
- Check if all files were uploaded
|
177 |
-
- Verify `index.html` is in the root directory
|
178 |
-
- Check browser console for errors
|
179 |
-
|
180 |
-
**Search not working:**
|
181 |
-
- Ensure `script.js` is properly loaded
|
182 |
-
- Check if data files are accessible
|
183 |
-
- Verify CORS settings if loading external data
|
184 |
-
|
185 |
-
**Styling issues:**
|
186 |
-
- Confirm `styles.css` is loaded
|
187 |
-
- Check for CSS syntax errors
|
188 |
-
- Verify file paths are correct
|
189 |
-
|
190 |
-
### Performance Optimization
|
191 |
-
|
192 |
-
1. **Compress images** if you have any
|
193 |
-
2. **Minify CSS/JS** for production
|
194 |
-
3. **Enable gzip compression** on your server
|
195 |
-
4. **Use a CDN** for better global performance
|
196 |
-
|
197 |
-
## Security Considerations
|
198 |
-
|
199 |
-
- Keep your repository public if using GitHub Pages
|
200 |
-
- Don't include sensitive data in your code
|
201 |
-
- Use HTTPS (most platforms provide this automatically)
|
202 |
-
- Regularly update dependencies if you add any
|
203 |
-
|
204 |
-
## Maintenance
|
205 |
-
|
206 |
-
- Regularly update your paper database
|
207 |
-
- Monitor site performance
|
208 |
-
- Keep backups of your data
|
209 |
-
- Test on different browsers and devices
|
210 |
-
|
211 |
-
---
|
212 |
-
|
213 |
-
**Need help?** Open an issue on GitHub or check the platform's documentation for specific troubleshooting steps.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
README.md
CHANGED
@@ -10,153 +10,28 @@ pinned: false
|
|
10 |
---
|
11 |
# Multilingual Paper Database
|
12 |
|
13 |
-
|
14 |
|
15 |
-
|
|
|
|
|
16 |
|
17 |
-
- π **Advanced Search**: Search across titles, abstracts, and authors with multiple keywords
|
18 |
-
- π **Multilingual Support**: Search in multiple languages simultaneously
|
19 |
-
- π
**Year Filtering**: Filter papers by publication year with dual-range slider
|
20 |
-
- π― **Conference Filtering**: Filter by specific conferences or venues
|
21 |
-
- π **Abstract Filtering**: Show/hide papers with or without abstracts
|
22 |
-
- π± **Responsive Design**: Works perfectly on desktop, tablet, and mobile
|
23 |
-
- β‘ **Fast Performance**: Optimized for quick search and filtering
|
24 |
-
- π¨ **Modern UI**: Beautiful, intuitive interface with smooth animations
|
25 |
|
26 |
-
##
|
27 |
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
|
|
|
|
33 |
|
34 |
-
|
35 |
-
Simply open `index.html` in your web browser, or serve it using a local server:
|
36 |
-
```bash
|
37 |
-
# Using Python
|
38 |
-
python -m http.server 8000
|
39 |
-
|
40 |
-
# Using Node.js
|
41 |
-
npx serve .
|
42 |
-
|
43 |
-
# Using PHP
|
44 |
-
php -S localhost:8000
|
45 |
-
```
|
46 |
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
### Adding Papers
|
53 |
-
Use the Python script to add new papers to the database:
|
54 |
-
```bash
|
55 |
-
python generate_multilingual_bib.py
|
56 |
```
|
57 |
-
|
58 |
-
### Managing Conferences
|
59 |
-
Edit `conferences.txt` to add or remove conferences from the filter options.
|
60 |
-
|
61 |
-
## Deployment Options
|
62 |
-
|
63 |
-
### 1. GitHub Pages (Recommended - Free)
|
64 |
-
|
65 |
-
1. **Push to GitHub**:
|
66 |
-
```bash
|
67 |
-
git add .
|
68 |
-
git commit -m "Initial commit"
|
69 |
-
git push origin main
|
70 |
-
```
|
71 |
-
|
72 |
-
2. **Enable GitHub Pages**:
|
73 |
-
- Go to your repository on GitHub
|
74 |
-
- Click "Settings" β "Pages"
|
75 |
-
- Select "Deploy from a branch"
|
76 |
-
- Choose "main" branch and "/ (root)" folder
|
77 |
-
- Click "Save"
|
78 |
-
|
79 |
-
3. **Your site will be available at**:
|
80 |
-
`https://crystina-z.github.io/multilingual-paper-database`
|
81 |
-
|
82 |
-
### 2. Netlify (Free Tier)
|
83 |
-
|
84 |
-
1. **Drag & Drop**:
|
85 |
-
- Go to [netlify.com](https://netlify.com)
|
86 |
-
- Drag your project folder to the deploy area
|
87 |
-
- Your site is instantly live!
|
88 |
-
|
89 |
-
2. **Or connect to Git**:
|
90 |
-
- Connect your GitHub repository
|
91 |
-
- Netlify will automatically deploy on every push
|
92 |
-
|
93 |
-
### 3. Vercel (Free Tier)
|
94 |
-
|
95 |
-
1. **Install Vercel CLI**:
|
96 |
-
```bash
|
97 |
-
npm i -g vercel
|
98 |
-
```
|
99 |
-
|
100 |
-
2. **Deploy**:
|
101 |
-
```bash
|
102 |
-
vercel
|
103 |
-
```
|
104 |
-
|
105 |
-
### 4. Firebase Hosting (Free Tier)
|
106 |
-
|
107 |
-
1. **Install Firebase CLI**:
|
108 |
-
```bash
|
109 |
-
npm install -g firebase-tools
|
110 |
-
```
|
111 |
-
|
112 |
-
2. **Initialize and deploy**:
|
113 |
-
```bash
|
114 |
-
firebase login
|
115 |
-
firebase init hosting
|
116 |
-
firebase deploy
|
117 |
-
```
|
118 |
-
|
119 |
-
## Customization
|
120 |
-
|
121 |
-
### Styling
|
122 |
-
- Edit `styles.css` to customize colors, fonts, and layout
|
123 |
-
- The design uses CSS custom properties for easy theming
|
124 |
-
|
125 |
-
### Functionality
|
126 |
-
- Modify `script.js` to add new features or change search behavior
|
127 |
-
- Update the data structure in the JavaScript file to match your paper format
|
128 |
-
|
129 |
-
### Data
|
130 |
-
- Replace the sample data with your own paper database
|
131 |
-
- Ensure your data follows the expected JSON structure
|
132 |
-
|
133 |
-
## Browser Support
|
134 |
-
|
135 |
-
- β
Chrome (recommended)
|
136 |
-
- β
Firefox
|
137 |
-
- β
Safari
|
138 |
-
- β
Edge
|
139 |
-
- β οΈ Internet Explorer (limited support)
|
140 |
-
|
141 |
-
## Contributing
|
142 |
-
|
143 |
-
1. Fork the repository
|
144 |
-
2. Create a feature branch
|
145 |
-
3. Make your changes
|
146 |
-
4. Test thoroughly
|
147 |
-
5. Submit a pull request
|
148 |
-
|
149 |
-
## License
|
150 |
-
|
151 |
-
This project is open source and available under the [MIT License](LICENSE).
|
152 |
-
|
153 |
-
## Support
|
154 |
-
|
155 |
-
If you encounter any issues or have questions:
|
156 |
-
- Open an issue on GitHub
|
157 |
-
- Check the browser console for error messages
|
158 |
-
- Ensure all files are in the correct directory structure
|
159 |
-
|
160 |
-
---
|
161 |
-
|
162 |
-
**Happy researching! π**
|
|
|
10 |
---
|
11 |
# Multilingual Paper Database
|
12 |
|
13 |
+
## π Overview
|
14 |
|
15 |
+
A web application for searching and browsing academic papers from given .bib file,
|
16 |
+
Currently the paperbased are from a filtered version of [ACL Anthology](https://aclanthology.org/),
|
17 |
+
working to incorporate papers from IR venues.
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
+
## π οΈ Usage
|
21 |
|
22 |
+
Currently it allows to
|
23 |
+
- add multiple search keywords and filtering keywords,
|
24 |
+
- filter by year, conference, and star papers,
|
25 |
+
- export current search results to .bib file,
|
26 |
+
- export starred papers to .bib file,
|
27 |
+
- export current search status into .json file
|
28 |
+
- load previous search status the saved .json file
|
29 |
|
30 |
+
## π¬ Feedback or Adaptation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
+
Feel free to leave feedback by emailing me or in the Community.
|
33 |
+
If you want to use the project on your own .bib file,
|
34 |
+
it requires only a single line of change in the `script.js`:
|
35 |
+
```javascript
|
36 |
+
let response = await fetch('data/multilingual_papers.bib'); // <--- change this line
|
|
|
|
|
|
|
|
|
37 |
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|