Crystina commited on
Commit
930e2af
Β·
1 Parent(s): d4a44ca
Files changed (2) hide show
  1. DEPLOYMENT.md +0 -213
  2. 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
- A modern, responsive web application for searching and browsing academic papers with multilingual support.
14
 
15
- ## Features
 
 
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
- ## Quick Start
27
 
28
- 1. **Clone the repository**:
29
- ```bash
30
- git clone https://github.com/crystina-z/multilingual-paper-database.git
31
- cd multilingual-paper-database
32
- ```
 
 
33
 
34
- 2. **Open in your browser**:
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
- 3. **Access the application**:
48
- Open your browser and go to `http://localhost:8000`
49
-
50
- ## Data Management
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
  ```