Простой способ к вспомогательным тэгам в блоге jekyll

При использовании GCC можно сделать функцию weak. Они может быть переопределен неслабыми функциями:

test.c:

#include 

__attribute__((weak)) void test(void) { 
    printf("not overridden!\n"); 
}

int main() {
    test();
}

, Что это делает?

$ gcc test.c
$ ./a.out
not overridden!

test1.c:

#include 

void test(void) {
    printf("overridden!\n");
}

, Что это делает?

$ gcc test1.c test.c
$ ./a.out
overridden!

К сожалению, который не будет работать на другие компиляторы. Но у Вас могут быть слабые объявления, которые содержат переопределяемые функции в их собственном файле, помещая просто включение в файлы реализации API, если Вы компилируете использование GCC:

weakdecls.h:

__attribute__((weak)) void test(void);
... other weak function declarations ...

functions.c:

/* for GCC, these will become weak definitions */
#ifdef __GNUC__
#include "weakdecls.h"
#endif

void test(void) { 
    ...
}

... other functions ...

Оборотная сторона этого - то, что это не работает полностью , не делая чего-то в файлы API (нуждающийся в тех трех строках и weakdecls). Но как только Вы сделали то изменение, функции могут быть переопределены легко путем записи глобального определения в одном файле и соединения этого в.

45
задан Alan W. Smith 14 July 2012 в 10:33
поделиться

2 ответа

Посмотрите сайты, использующие jekyll . Есть несколько кастомных форков, в которых реализована функция тегов, надеюсь, также так, как вы хотите: -)

8
ответ дан 26 November 2019 в 21:04
поделиться

У меня был тот же вопрос, и я наткнулся на это: http://gist.github.com/143571.

Это задача rake, которая генерирует список тегов. Я немного изменил его, и моя версия находится по адресу: http://github.com/mattfoster/mattfoster.github.com/blob/master/Rakefile.

Хотя это и не дает вам страницу для каждого тега, вы можете использовать якоря, что уже полдела!

5
ответ дан 26 November 2019 в 21:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: