當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript nunjucks.configure函數代碼示例

本文整理匯總了TypeScript中nunjucks.configure函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript configure函數的具體用法?TypeScript configure怎麽用?TypeScript configure使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了configure函數的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: function

var renderer: HexoSyncRenderer = function (data, locals) {
    
    var templateDir = path.dirname(data.path);
    var env = nunjucks.configure(templateDir, hexo.config.nunjucks);
    
    return env.renderString(data.text, locals);  
}
開發者ID:kfitzgerald,項目名稱:hexo-renderer-nunjucks,代碼行數:7,代碼來源:index.ts

示例2: initializeNunjucs

  private initializeNunjucs(commonCollectiveName: string, viewsDirectory: string, version: string,
                            debug: boolean, powered: boolean, urlOrigin: string,
                            ownersPath: string, headersPath: string): nunjucks.Environment {
    const nj: nunjucks.Environment = nunjucks.configure(viewsDirectory, {
      autoescape: true,
      noCache: debug,
      watch: debug,
    });

    nj.addGlobal("version", version);
    nj.addGlobal("commonCollectiveName", commonCollectiveName);
    nj.addGlobal("development", debug);
    nj.addGlobal("urlOrigin", urlOrigin);
    nj.addGlobal("ownersPath", ownersPath);
    nj.addGlobal("headersPath", headersPath);
    if (powered) nj.addGlobal("powered", true);

    // Add utility methods
    nj.addGlobal("formatDate", this.formatDate);

    let domain;
    if (urlOrigin && urlOrigin.startsWith("https://")) {
      domain = urlOrigin.substr(8);
    } else if (urlOrigin && urlOrigin.startsWith("http://")) {
      domain = urlOrigin.substr(7);
    } else {
      // Fail if urlOrigin is invalid
      throw new Error("FATAL: urlOrigin invalid or not set, exiting");
    }
    nj.addGlobal("domain", domain);
    return nj;
  }
開發者ID:extendedmind,項目名稱:extendedmind,代碼行數:32,代碼來源:rendering.ts

示例3: function

  return async function(filename: string | any, data?: any) {
    if (typeof filename !== 'string') {
      data = filename;
      filename = null;
    }

    // i.e., we've not been provided a specific file.
    if (filename === null) {
      filename = `${ ctx.controller.name }/${ ctx.controller.action }.html`;
    }
    
    // fetch our application
    const application = overland.apps.get(ctx.controller.app);

    // configure load paths
    const paths = [
      overland.settings.views,
      `${ overland.settings.views }/${ ctx.controller.app }`,
      application.views
    ];
    
    // stat potential template files
    const candidates = await Promise.all(paths.map((viewDir): Promise<boolean> => {
      return new Promise((resolve, reject) => {
        const test = `${ viewDir }/${ filename }`;
        stat(test, (err, res) => {
          if (err) resolve(false);
          resolve(true);
        });
      });
    }));

    const base = paths[candidates.findIndex(p => p === true)];

    if (base === undefined) {
      const e = new Error(`No template found with name '${ filename }' in app or site directory!`);
      e.name = 'No Such Template'
      throw e;
    }

    const env = nunjucks.configure(paths, { watch: true });
    const renderEnv = application.nunjucksEnv ? Object.assign(application.nunjucksEnv, { loaders: env.loaders, opts: env.opts }) : env;

    renderEnv.addGlobal('css', ctx.state.css);
    renderEnv.addGlobal('js', ctx.state.js);
    renderEnv.addGlobal('asset', ctx.state.asset_path);

    const renderCtx = overland.createRenderContext(ctx, data);
    return renderEnv.render(base + '/' + filename, renderCtx);
  };
開發者ID:overlandjs,項目名稱:overland-nunjucks,代碼行數:50,代碼來源:index.ts

示例4: function

export default function(template: string, options?: any) {
  options = Object.assign({}, options);
  let nunjucksOptions = Object.assign({noCache: true}, options.nunjucks);
  var env = nunjucks.configure(nunjucksOptions);
  env.addFilter("nunjucks", (t,data) => nunjucks.renderString(t, data));
  Object.keys(options.filters || {}).forEach(key => {
    env.addFilter(key, options.filters[key])
  });
  Object.keys(options.globals || {}).forEach(key => {
    env.addGlobal(key, options.globals[key])
  });

  return through.obj(function(file:gutil.File, encoding: string, callback: (err?: Error, data?: gutil.File) => void): void {
		if (file.isNull()) {
			return callback(null, file);
		}

		if (file.isStream() || !(file.contents instanceof Buffer)) {
			return this.emit('error', new gutil.PluginError(PLUGIN_NAME, 'Streaming not supported'));
		}

    var data = JSON.parse(file.contents.toString());

    let result: string;
    try {
      result = nunjucks.render(template, data);
    } catch(err) {
      return callback(new gutil.PluginError(PLUGIN_NAME, err, {fileName: template}));
    }
    var basename = path.basename(file.path),
        stylename = basename.substr(0, basename.length-path.extname(basename).length);
    var resultFile = file.clone({contents: false});
    resultFile.path = gutil.replaceExtension(file.path, ".html");
    resultFile.contents = new Buffer(result);
    callback(null, resultFile);
  });
};
開發者ID:kaa,項目名稱:gulp-nunjucks-template,代碼行數:37,代碼來源:index.ts

示例5: getName

/// <reference path="../typings/tsd.d.ts" />
import * as Hapi from 'hapi';
import * as nunjucks from 'nunjucks';

// configure nunjucks to read from the dist directory
nunjucks.configure('./dist');

// create a server with a host and port
const server = new Hapi.Server();
server.connection({
  host: 'localhost',
  port: 8000
});

function getName(request) {
  // default values
  let name = {
    fname: 'Michael',
    lname: 'Chavez'
  };
  // split path params
  let nameParts = request.params.name ? request.params.name.split('/') : [];

  // order of precedence
  // 1. path param
  // 2. query param
  // 3. default value
  name.fname = (nameParts[0] || request.query.fname) ||
    name.fname;
  name.lname = (nameParts[1] || request.query.lname) ||
    name.lname;
開發者ID:bigbassroller,項目名稱:isomorphic-ts,代碼行數:31,代碼來源:index.ts

示例6: debug

debug('isDev', isDev);
debug('srcPath', srcPath);
debug('Views path', views);

// Express
const app: express.Express = express();

// view engine setup
app.engine('njk', nunjucks.render);
app.set('views', views);
app.set('view engine', 'njk');

const env = nunjucks.configure(views, {
  autoescape: true,
  watch: isDev,
  noCache: isDev,
  express: app,
});

// Configure localization
localization.configure({
  locales: ['en-US', 'es'],
  defaultLocale: 'en-US',
  cookie: 'lang',
  queryParameter: 'lang',
  directory: `${ROOT}/src/locales`,
  autoReload: isDev,
  api: {
    '__': 't',  // now req.__ becomes req.t
    '__n': 'tn' // and req.__n can be called as req.tn
  }
開發者ID:melxx001,項目名稱:simple-nodejs-typescript-starter,代碼行數:31,代碼來源:server.ts

示例7:

import { swagger, segments, routes, hasIds } from './swagger';
import * as nunjucks from 'nunjucks';
import * as fs from 'fs';
import { actions } from './action';
import * as _ from 'lodash';
import { renderModel } from './render';


const pascalCase = (str: string): string => {
    return _.upperFirst(_.camelCase(str));
}

const env = nunjucks.configure('views', {
    autoescape: false,
    trimBlocks: true,
    lstripBlocks: true,
});
env.addFilter('pascalCase', pascalCase);

const format = (str: string): string => {
    let indent = 0;
    let result = '';
    for(const line of str.replace(/\s+$/mg, '').replace(/\n{2,}/g, '\n').split('\n').map(item => item.trim())) {
        if (line == '}') {
            indent -= 4;
        }
        result += _.repeat(' ', indent) + line + '\n';
        if (line == '{') {
            indent += 4;
        }
    }
開發者ID:tylerlong,項目名稱:rc-swagger-codegen,代碼行數:31,代碼來源:index.ts

示例8: require

import * as nunjucks from 'nunjucks';
import * as pathlib from 'path';
import { File } from '../core';

const gulp = require('gulp');
const packageInfo = require('../package.json');
const CWD = pathlib.normalize(`${process.cwd()}/..`);
const DOCS = `${CWD}/docs`;

nunjucks.configure(DOCS);

/**
 * Build documentation
 * @param {string} path
 */
async function buildDocs(path: string) {
  let files = await File.readDirectory(path);
  for (let file of files) {

    file = `${path}/${file}`;
    let stats = await File.getStats(file);
    if (stats.isDirectory()) {
      await buildDocs(file);
    } else if (stats.isFile() && pathlib.extname(file) == '.tpl') {
      await File.create(
        `${pathlib.dirname(file)}/${pathlib.basename(file, '.tpl')}.html`,
        nunjucks.renderString(await File.read(file), packageInfo)
      );
    }
  }
}
開發者ID:chen-framework,項目名稱:chen,代碼行數:31,代碼來源:gulp.ts

示例9: enableFor

  enableFor (app: express.Express) {
    app.set('view engine', 'njk')
    const nunjucksEnv = nunjucks.configure([
      path.join(__dirname, '..', '..', 'views'),
      path.join(__dirname, '..', '..', 'common'),
      path.join(__dirname, '..', '..', 'features'),
      path.join(__dirname, '..', '..', 'views', 'macro'),
      path.join(__dirname, '..', '..', '..', '..', 'node_modules', '@hmcts', 'cmc-common-frontend', 'macros')
    ], {
      autoescape: true,
      throwOnUndefined: true,
      watch: this.developmentMode,
      express: app
    })

    app.use((req, res, next) => {
      res.locals.pagePath = req.path
      next()
    })

    require('numeral/locales/en-gb')
    numeral.locale('en-gb')
    numeral.defaultFormat(NUMBER_FORMAT)

    moment.locale('en-gb')

    nunjucksEnv.addGlobal('asset_paths', appAssetPaths)
    nunjucksEnv.addGlobal('serviceName', 'Money Claims')
    nunjucksEnv.addGlobal('supportEmailAddress', config.get('secrets.cmc.staff-email'))
    nunjucksEnv.addGlobal('development', this.developmentMode)
    nunjucksEnv.addGlobal('govuk_template_version', packageDotJson.dependencies.govuk_template_jinja)
    nunjucksEnv.addGlobal('gaTrackingId', config.get<string>('analytics.gaTrackingId'))
    nunjucksEnv.addGlobal('t', (key: string, options?: TranslationOptions): string => this.i18next.t(key, options))
    nunjucksEnv.addFilter('date', dateFilter)
    nunjucksEnv.addFilter('inputDate', dateInputFilter)
    nunjucksEnv.addFilter('addDays', addDaysFilter)
    nunjucksEnv.addFilter('pennies2pounds', convertToPoundsFilter)
    nunjucksEnv.addFilter('monthIncrement', monthIncrementFilter)
    nunjucksEnv.addFilter('numeral', numeralFilter)
    nunjucksEnv.addFilter('yesNo', yesNoFilter)
    nunjucksEnv.addGlobal('isAfter4pm', isAfter4pm)
    nunjucksEnv.addGlobal('betaFeedbackSurveyUrl', config.get('feedback.feedbackSurvey.url'))
    nunjucksEnv.addGlobal('reportProblemSurveyUrl', config.get('feedback.reportProblemSurvey.url'))
    nunjucksEnv.addGlobal('customerSurveyUrl', config.get('feedback.serviceSurvey.url'))

    nunjucksEnv.addGlobal('featureToggles', this.convertPropertiesToBoolean(config.get('featureToggles')))
    nunjucksEnv.addGlobal('RejectAllOfClaimOption', RejectAllOfClaimOption)
    nunjucksEnv.addGlobal('AlreadyPaid', AlreadyPaid)
    nunjucksEnv.addGlobal('DefendantPaymentType', DefendantPaymentType)
    nunjucksEnv.addGlobal('DefendantPaymentOption', DefendantPaymentOption)
    nunjucksEnv.addGlobal('PaymentType', PaymentType)
    nunjucksEnv.addGlobal('InterestRateOption', InterestRateOption)
    nunjucksEnv.addGlobal('SignatureType', SignatureType)
    nunjucksEnv.addGlobal('ResponseType', ResponseType)
    nunjucksEnv.addGlobal('MadeBy', MadeBy)
    nunjucksEnv.addGlobal('CountyCourtJudgmentType', CountyCourtJudgmentType)
    nunjucksEnv.addGlobal('YesNoOption', YesNoOption)
    nunjucksEnv.addGlobal('EvidenceType', EvidenceType)
    nunjucksEnv.addGlobal('StatementType', StatementType)
    nunjucksEnv.addGlobal('NotEligibleReason', NotEligibleReason)
    nunjucksEnv.addGlobal('InterestType', InterestType)
    nunjucksEnv.addGlobal('InterestTypeOption', InterestTypeOption)
    nunjucksEnv.addGlobal('InterestDateType', InterestDateType)
    nunjucksEnv.addGlobal('InterestEndDateOption', InterestEndDateOption)
    nunjucksEnv.addGlobal('FormaliseOption', FormaliseOption)
    nunjucksEnv.addGlobal('ClaimantResponseType', ClaimantResponseType)
    nunjucksEnv.addGlobal('ResidenceType', ResidenceType)
    nunjucksEnv.addGlobal('PaymentSchedule', PaymentSchedule)
    nunjucksEnv.addGlobal('UnemploymentType', UnemploymentType)
    nunjucksEnv.addGlobal('BankAccountType', BankAccountType)
    nunjucksEnv.addGlobal('ClaimStatus', ClaimStatus)

    nunjucksEnv.addGlobal('AppPaths', AppPaths)
    nunjucksEnv.addGlobal('ClaimantResponsePaths', ClaimantResponsePaths)
    nunjucksEnv.addGlobal('DashboardPaths', DashboardPaths)
    nunjucksEnv.addGlobal('CCJPaths', CCJPaths)
    nunjucksEnv.addGlobal('StatePaidPaths', StatePaidPaths)
    nunjucksEnv.addGlobal('ResponsePaths', ResponsePaths)
    nunjucksEnv.addGlobal('MediationPaths', MediationPaths)
    nunjucksEnv.addGlobal('PartAdmissionPaths', PartAdmissionPaths)
    nunjucksEnv.addGlobal('FullRejectionPaths', FullRejectionPaths)
    nunjucksEnv.addGlobal('DirectionsQuestionnairePaths', DirectionsQuestionnairePaths)
    nunjucksEnv.addGlobal('TestingSupportPaths', TestingSupportPaths)

    nunjucksEnv.addGlobal('SettlementAgreementPaths', SettlementAgreementPaths)
    nunjucksEnv.addGlobal('HowMuchPaidClaimantOption', HowMuchPaidClaimantOption)
    nunjucksEnv.addGlobal('MonthlyIncomeType', MonthlyIncomeType)
    nunjucksEnv.addGlobal('MonthlyExpenseType', MonthlyExpenseType)
    nunjucksEnv.addGlobal('PriorityDebtType', PriorityDebtType)
    nunjucksEnv.addGlobal('Service', Service)
    nunjucksEnv.addGlobal('DisabilityStatus', Disability)
    nunjucksEnv.addGlobal('cookieText', `GOV.UK uses cookies make the site simpler. <a href="${AppPaths.cookiesPage.uri}">Find out more about cookies</a>`)
    nunjucksEnv.addGlobal('serviceName', `Money Claims`)
    nunjucksEnv.addGlobal('headingVisible', true)
    nunjucksEnv.addGlobal('DecisionType', DecisionType)
    nunjucksEnv.addGlobal('PartyType', PartyType)
    nunjucksEnv.addGlobal('IncomeExpenseSchedule', IncomeExpenseSchedule)
    nunjucksEnv.addGlobal('FreeMediationOption', FreeMediationOption)
  }
開發者ID:hmcts,項目名稱:cmc-citizen-frontend,代碼行數:99,代碼來源:index.ts


注:本文中的nunjucks.configure函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。