Skip to content

Commit

Permalink
Merge pull request #475 from UCF/fa-scss-setup
Browse files Browse the repository at this point in the history
logic for toggling between Fontawesome-pro & Fontawesome-free
  • Loading branch information
Ramin-Farhadi authored Apr 22, 2024
2 parents 80729b1 + 4150122 commit cadb4ce
Show file tree
Hide file tree
Showing 8 changed files with 767 additions and 161 deletions.
4 changes: 0 additions & 4 deletions dev/_custom-base.scss
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,3 @@
// Font Awesome
@import './font-awesome/scss/variables';
@import './font-awesome/scss/mixins';

// Font Awesome 6
@import './@fortawesome/fontawesome-pro/scss/variables';
@import './@fortawesome/fontawesome-pro/scss/mixins';
40 changes: 33 additions & 7 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ const isFixed = require('gulp-eslint-if-fixed');
const babel = require('gulp-babel');
const rename = require('gulp-rename');
const sass = require('gulp-sass')(require('sass'));
const sassVariables = require('gulp-sass-variables');
const sassLint = require('gulp-sass-lint');
const uglify = require('gulp-uglify');
const merge = require('merge');
Expand Down Expand Up @@ -49,6 +50,28 @@ if (fs.existsSync('./gulp-config.json')) {
// Helper functions
//

/**
* Returns a boolean indicating whether or not
* font-awesome pro is installed.
* @returns {bool} Whether or not font-awesome pro is installed
*/
function usingFontAwesomePro() {
return fs.existsSync(`${config.packagesPath}/@fortawesome/fontawesome-pro/webfonts`);
}

/**
* Determine which font awesome project type
* we're using and return back the appropriate
* font path.
*
* @return {string} Returning the font path.
*/
function getFontPath() {
return usingFontAwesomePro()
? '../fonts/font-awesome-pro'
: '../fonts/font-awesome';
}

// Base SCSS linting function
function lintSCSS(src) {
return gulp.src(src)
Expand All @@ -61,7 +84,12 @@ function lintSCSS(src) {
function buildCSS(src, dest) {
dest = dest || config.dist.cssPath;

const fontPath = getFontPath();

return gulp.src(src)
.pipe(sassVariables({
'$fa-font-path': fontPath
}))
.pipe(sass({
includePaths: [config.src.scssPath, config.packagesPath]
})
Expand Down Expand Up @@ -153,15 +181,13 @@ function serverServe(done) {

// Copy Font Awesome files
gulp.task('move-components-fontawesome', () => {
try {
fs.statSync(`${config.packagesPath}/@fortawesome/fontawesome-pro/webfonts`);
return gulp.src([`${config.packagesPath}/@fortawesome/fontawesome-pro/webfonts/**/*`])
if (fs.existsSync(`${config.packagesPath}/@fortawesome/fontawesome-pro/webfonts`)){
return gulp.src([`${config.packagesPath}/@fortawesome/fontawesome-pro/webfonts/**/*`])
.pipe(gulp.dest(`${config.dist.fontPath}/font-awesome-pro`));
} catch (error) {
console.log(error);
return gulp.src([`${config.packagesPath}/font-awesome/fonts/**/*`])
} else {
return gulp.src([`${config.packagesPath}/font-awesome/fonts/**/*`])
.pipe(gulp.dest(`${config.dist.fontPath}/font-awesome`));
}
}
});

// Athena Framework web font processing
Expand Down
Loading

0 comments on commit cadb4ce

Please sign in to comment.