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 |
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|