commit
						6c7c28e44d
					
				
					 8 changed files with 3741 additions and 71 deletions
				
			
		
							
								
								
									
										18
									
								
								.github/workflows/documentation.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								.github/workflows/documentation.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,18 @@
 | 
				
			||||||
 | 
					name: Generate documentation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    branches: [ master ]
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    branches: [ master ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  build:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - uses: actions/checkout@v2
 | 
				
			||||||
 | 
					    - name: Use Node.js 14.x
 | 
				
			||||||
 | 
					      uses: actions/setup-node@v2
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        node-version: 14.x
 | 
				
			||||||
 | 
					    - run: npm run docs:deploy
 | 
				
			||||||
							
								
								
									
										4
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -103,4 +103,6 @@ dist
 | 
				
			||||||
# TernJS port file
 | 
					# TernJS port file
 | 
				
			||||||
.tern-port
 | 
					.tern-port
 | 
				
			||||||
 | 
					
 | 
				
			||||||
diskcache/
 | 
					diskcache/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docs/
 | 
				
			||||||
| 
						 | 
					@ -1 +1,4 @@
 | 
				
			||||||
index.js
 | 
					index.js
 | 
				
			||||||
 | 
					docs/
 | 
				
			||||||
 | 
					gh-pages.js
 | 
				
			||||||
 | 
					.github/
 | 
				
			||||||
| 
						 | 
					@ -78,10 +78,20 @@ const infoTextBigStartY = infoTextSmallStartY + 25;
 | 
				
			||||||
const infoTextSpacing = 50;
 | 
					const infoTextSpacing = 50;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class CardCreator {
 | 
					class CardCreator {
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * Creates a new card creator.
 | 
				
			||||||
 | 
					   * @constructor
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
  constructor() {
 | 
					  constructor() {
 | 
				
			||||||
    this.isInit = false;
 | 
					    this.isInit = false;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * Ensures that the instance is ready to generate character cards.
 | 
				
			||||||
 | 
					   * This function must be resolved before using character card
 | 
				
			||||||
 | 
					   * generation methods.
 | 
				
			||||||
 | 
					   * @returns {Promise} A promise representing the initialization state of this generator.
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
  async ensureInit() {
 | 
					  async ensureInit() {
 | 
				
			||||||
    if (this.isInit) {
 | 
					    if (this.isInit) {
 | 
				
			||||||
      return;
 | 
					      return;
 | 
				
			||||||
| 
						 | 
					@ -236,6 +246,23 @@ class CardCreator {
 | 
				
			||||||
    return num;
 | 
					    return num;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * Creates a character card for a character.
 | 
				
			||||||
 | 
					   * @param {number | string} charaId The Lodestone ID of the character to generate a card for.
 | 
				
			||||||
 | 
					   * @example
 | 
				
			||||||
 | 
					   * const fs = require("fs");
 | 
				
			||||||
 | 
					   * 
 | 
				
			||||||
 | 
					   * const card = new CardCreator();
 | 
				
			||||||
 | 
					   * const lodestoneId = "13821878";
 | 
				
			||||||
 | 
					   * 
 | 
				
			||||||
 | 
					   * await card.ensureInit();
 | 
				
			||||||
 | 
					   * const png = await card.createCard(lodestoneId);
 | 
				
			||||||
 | 
					   * 
 | 
				
			||||||
 | 
					   * fs.writeFile("./test.png", png, err => {
 | 
				
			||||||
 | 
					   *   if (err) console.error(err);
 | 
				
			||||||
 | 
					   * });
 | 
				
			||||||
 | 
					   * @returns {Promise<Buffer>} A promise representating the construction of the card's image data.
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
  async createCard(charaId) {
 | 
					  async createCard(charaId) {
 | 
				
			||||||
    var response = await fetch(`https://xivapi.com/character/${charaId}?extended=1&data=FC,mimo`);
 | 
					    var response = await fetch(`https://xivapi.com/character/${charaId}?extended=1&data=FC,mimo`);
 | 
				
			||||||
    var data = await response.json();
 | 
					    var data = await response.json();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										6
									
								
								gh-pages.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								gh-pages.js
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					const ghpages = require("gh-pages");
 | 
				
			||||||
 | 
					ghpages.publish("docs/", (err) => {
 | 
				
			||||||
 | 
					    if (err) {
 | 
				
			||||||
 | 
					        console.error(err);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
							
								
								
									
										3742
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										3742
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										10
									
								
								package.json
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								package.json
									
										
									
									
									
								
							| 
						 | 
					@ -10,14 +10,20 @@
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "start": "node index.js",
 | 
					    "start": "node index.js",
 | 
				
			||||||
    "dev": "nodemon index.js"
 | 
					    "dev": "nodemon index.js",
 | 
				
			||||||
 | 
					    "docs:generate": "jsdoc create-card.js -d docs -R readme.md",
 | 
				
			||||||
 | 
					    "docs:deploy": "npm run docs:generate && node gh-pages.js"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "cache-manager-fs": "^1.0.8",
 | 
					    "cache-manager-fs": "^1.0.8",
 | 
				
			||||||
    "cache-manager-fs-binary": "^1.0.4",
 | 
					    "cache-manager-fs-binary": "^1.0.4",
 | 
				
			||||||
    "canvas": "^2.6.1",
 | 
					    "canvas": "^2.6.1",
 | 
				
			||||||
    "express": "^4.17.1",
 | 
					    "express": "^4.17.1",
 | 
				
			||||||
    "node-fetch": "^2.6.1",
 | 
					    "node-fetch": "^2.6.1"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "devDependencies": {
 | 
				
			||||||
 | 
					    "gh-pages": "^3.2.0",
 | 
				
			||||||
 | 
					    "jsdoc": "^3.6.7",
 | 
				
			||||||
    "nodemon": "^2.0.7"
 | 
					    "nodemon": "^2.0.7"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,6 @@
 | 
				
			||||||
# XIV Character Cards
 | 
					# XIV Character Cards
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[](https://xivapi.github.io/XIV-Character-Cards/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
API to create fancy cards for FFXIV characters based on their Lodestone data, hosted at https://ffxiv-character-cards.herokuapp.com.
 | 
					API to create fancy cards for FFXIV characters based on their Lodestone data, hosted at https://ffxiv-character-cards.herokuapp.com.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue